diff --git a/Lib/sgmllib.py b/Lib/sgmllib.py index 17e5745f0ba..2c92c3180f5 100644 --- a/Lib/sgmllib.py +++ b/Lib/sgmllib.py @@ -226,8 +226,8 @@ def parse_endtag(self, data): if self.stack and self.stack[-1] == tag: del self.stack[-1] else: - print '*** Unbalanced ' - print '*** Stack:', self.stack + self.report_unbalanced(tag) + # Now repair it found = None for i in range(len(self.stack)): if self.stack[i] == tag: found = i @@ -235,6 +235,11 @@ def parse_endtag(self, data): del self.stack[found:] method() + # Example -- report an unbalanced tag. + def report_unbalanced(self, tag): + print '*** Unbalanced ' + print '*** Stack:', self.stack + # Example -- handle character reference, no need to override def handle_charref(self, name): try: