Skip to content

Commit fecb2ad

Browse files
committed
Basic reporting of line/col for errors
--HG-- extra : convert_revision : svn%3Aacbfec75-9323-0410-a652-858a13e371e0/trunk%40451
1 parent 66746c4 commit fecb2ad

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

parse.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,10 @@ def parse():
9090
else:
9191
print p.tree.testSerializer(document).encode("utf-8")
9292
if opts.error:
93-
print "\nParse errors:\n" + "\n".join(p.errors)
93+
errList=[]
94+
for pos, message in p.errors:
95+
errList.append("Line %i Col %i"%pos + " " + message)
96+
print "\nParse errors:\n" + "\n".join(errList)
9497

9598
def getOptParser():
9699
parser = OptionParser(usage=__doc__)

src/html5parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ def parse(self, stream, encoding=None, innerHTML=False):
120120

121121
def parseError(self, data="XXX ERROR MESSAGE NEEDED"):
122122
# The idea is to make data mandatory.
123-
self.errors.append(data)
123+
self.errors.append((self.tokenizer.stream.position(), data))
124124
if self.strict:
125125
raise ParseError
126126

0 commit comments

Comments
 (0)