summaryrefslogtreecommitdiff
path: root/django/utils/html_parser.py
diff options
context:
space:
mode:
authorFlorian Apolloner <florian@apolloner.eu>2012-06-16 20:49:50 +0200
committerFlorian Apolloner <florian@apolloner.eu>2012-06-22 15:09:26 +0200
commit6bc1b222994301782bd80780bdeec8c4eb44631a (patch)
treede1fc92c4997f6cbe1505c44b5c0ea05bf78aaca /django/utils/html_parser.py
parenta54a8bab0c6a96c03452040e92b2a3141695a363 (diff)
Fixed our HTMLParser patches for python 2.7.4
Diffstat (limited to 'django/utils/html_parser.py')
-rw-r--r--django/utils/html_parser.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/django/utils/html_parser.py b/django/utils/html_parser.py
index b28005705e..98f6545c41 100644
--- a/django/utils/html_parser.py
+++ b/django/utils/html_parser.py
@@ -1,6 +1,7 @@
import HTMLParser as _HTMLParser
import re
+tagfind = re.compile('([a-zA-Z][-.a-zA-Z0-9:_]*)(?:\s|/(?!>))*')
class HTMLParser(_HTMLParser.HTMLParser):
"""
@@ -33,10 +34,10 @@ class HTMLParser(_HTMLParser.HTMLParser):
# Now parse the data between i+1 and j into a tag and attrs
attrs = []
- match = _HTMLParser.tagfind.match(rawdata, i + 1)
+ match = tagfind.match(rawdata, i + 1)
assert match, 'unexpected call to parse_starttag()'
k = match.end()
- self.lasttag = tag = rawdata[i + 1:k].lower()
+ self.lasttag = tag = match.group(1).lower()
while k < endpos:
m = _HTMLParser.attrfind.match(rawdata, k)
@@ -48,6 +49,7 @@ class HTMLParser(_HTMLParser.HTMLParser):
elif attrvalue[:1] == '\'' == attrvalue[-1:] or \
attrvalue[:1] == '"' == attrvalue[-1:]:
attrvalue = attrvalue[1:-1]
+ if attrvalue:
attrvalue = self.unescape(attrvalue)
attrs.append((attrname.lower(), attrvalue))
k = m.end()