CoolFace
Apppublic

Aluode/PerceptionLabPortable

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
error.py76 linesDownload Raw Back to yaml
1 2__all__ = ['Mark', 'YAMLError', 'MarkedYAMLError']3 4class Mark:5 6    def __init__(self, name, index, line, column, buffer, pointer):7        self.name = name8        self.index = index9        self.line = line10        self.column = column11        self.buffer = buffer12        self.pointer = pointer13 14    def get_snippet(self, indent=4, max_length=75):15        if self.buffer is None:16            return None17        head = ''18        start = self.pointer19        while start > 0 and self.buffer[start-1] not in '\0\r\n\x85\u2028\u2029':20            start -= 121            if self.pointer-start > max_length/2-1:22                head = ' ... '23                start += 524                break25        tail = ''26        end = self.pointer27        while end < len(self.buffer) and self.buffer[end] not in '\0\r\n\x85\u2028\u2029':28            end += 129            if end-self.pointer > max_length/2-1:30                tail = ' ... '31                end -= 532                break33        snippet = self.buffer[start:end]34        return ' '*indent + head + snippet + tail + '\n'  \35                + ' '*(indent+self.pointer-start+len(head)) + '^'36 37    def __str__(self):38        snippet = self.get_snippet()39        where = "  in \"%s\", line %d, column %d"   \40                % (self.name, self.line+1, self.column+1)41        if snippet is not None:42            where += ":\n"+snippet43        return where44 45class YAMLError(Exception):46    pass47 48class MarkedYAMLError(YAMLError):49 50    def __init__(self, context=None, context_mark=None,51            problem=None, problem_mark=None, note=None):52        self.context = context53        self.context_mark = context_mark54        self.problem = problem55        self.problem_mark = problem_mark56        self.note = note57 58    def __str__(self):59        lines = []60        if self.context is not None:61            lines.append(self.context)62        if self.context_mark is not None  \63            and (self.problem is None or self.problem_mark is None64                    or self.context_mark.name != self.problem_mark.name65                    or self.context_mark.line != self.problem_mark.line66                    or self.context_mark.column != self.problem_mark.column):67            lines.append(str(self.context_mark))68        if self.problem is not None:69            lines.append(self.problem)70        if self.problem_mark is not None:71            lines.append(str(self.problem_mark))72        if self.note is not None:73            lines.append(self.note)74        return '\n'.join(lines)75 76 
Aluode/PerceptionLabPortable · CoolFace