7 __all__ = [
'Mark',
'YAMLError',
'MarkedYAMLError']
11 def __init__(self, name, index, line, column, buffer, pointer):
24 while start > 0
and self.
buffer[start-1]
not in u'\0\r\n\x85\u2028\u2029':
26 if self.
pointer-start > max_length/2-1:
32 while end <
len(self.
buffer)
and self.
buffer[end]
not in u'\0\r\n\x85\u2028\u2029':
34 if end-self.
pointer > max_length/2-1:
38 snippet = self.
buffer[start:end].encode(
'utf-8')
39 return ' '*indent + head + snippet + tail +
'\n' \
40 +
' '*(indent+self.
pointer-start+
len(head)) +
'^'
44 where =
" in \"%s\", line %d, column %d" \
46 if snippet
is not None:
47 where +=
":\n"+snippet
53 class MarkedYAMLError(YAMLError):
55 def __init__(self, context=None, context_mark=None,
56 problem=
None, problem_mark=
None, note=
None):
69 or self.context_mark.name != self.problem_mark.name
70 or self.context_mark.line != self.problem_mark.line
71 or self.context_mark.column != self.problem_mark.column):
77 if self.
note is not None:
78 lines.append(self.
note)
79 return '\n'.
join(lines)
Fstring::size_type len(Fstring const &s)
Length.