diff Lib/HTMLParser.py @ 74946:3d7904e3f4b9 2.7

#13987: HTMLParser is now able to handle malformed start tags.
author Ezio Melotti <ezio.melotti@gmail.com>
date Wed, 15 Feb 2012 13:19:10 +0200
parents 11a31eb5da93
children 37c824c3efe8
line wrap: on
line diff
--- a/Lib/HTMLParser.py	Wed Feb 15 12:44:23 2012 +0200
+++ b/Lib/HTMLParser.py	Wed Feb 15 13:19:10 2012 +0200
@@ -315,8 +315,8 @@
                          - self.__starttag_text.rfind("\n")
             else:
                 offset = offset + len(self.__starttag_text)
-            self.error("junk characters in start tag: %r"
-                       % (rawdata[k:endpos][:20],))
+            self.handle_data(rawdata[i:endpos])
+            return endpos
         if end.endswith('/>'):
             # XHTML-style empty tag: <span attr="value" />
             self.handle_startendtag(tag, attrs)
@@ -353,8 +353,10 @@
                 # end of input in or before attribute value, or we have the
                 # '/' from a '/>' ending
                 return -1
-            self.updatepos(i, j)
-            self.error("malformed start tag")
+            if j > i:
+                return j
+            else:
+                return i + 1
         raise AssertionError("we should not get here!")
 
     # Internal -- parse endtag, return end or -1 if incomplete