Files
@ d3fc4f54e2ee
Branch filter:
Location: Diana/src/sgfParser/__init__.py - annotation
d3fc4f54e2ee
558 B
text/x-python
fixed crash on unknown SGF property
b66f5379b832 b66f5379b832 b66f5379b832 b66f5379b832 b66f5379b832 b66f5379b832 c6e20613189d 0ee71f3564f4 c6e20613189d 0ee71f3564f4 c6e20613189d c6e20613189d c6e20613189d c6e20613189d c6e20613189d c6e20613189d 0ee71f3564f4 0ee71f3564f4 b66f5379b832 c6e20613189d c6e20613189d 69ccf3e0aefe 69ccf3e0aefe c6e20613189d c6e20613189d 69ccf3e0aefe 0ee71f3564f4 0ee71f3564f4 0ee71f3564f4 0ee71f3564f4 | def skipWhitespace(s,start):
i=start
while i<len(s) and s[i].isspace(): i+=1
return i
def strRowCol(s, i):
k=0
r,c=0,0
for (r,line) in enumerate(s.splitlines(True)):
c=i-k
if k+len(line)>i:
break
else:
k+=len(line)
return (r+1, c+1)
class ParserError(Exception):
def __init__(self,msg,s,i):
self.msg=msg
self.row,self.col=strRowCol(s,i)
self.context=s[i:i+16]
def __str__(self):
return "{0} at row {1}, col {2}, got '{3}...' instead".format(self.msg,self.row,self.col,self.context)
class ParserWarning(ParserError):
pass
|