summaryrefslogtreecommitdiff
path: root/bs4/builder/_htmlparser.py
diff options
context:
space:
mode:
authorLeonard Richardson <leonard.richardson@canonical.com>2012-01-20 13:56:02 -0500
committerLeonard Richardson <leonard.richardson@canonical.com>2012-01-20 13:56:02 -0500
commit45fd6b551dccc85f01061f26642614ceebf39843 (patch)
tree1451f49eff5a8a5b4c13037f8616bee199985fe7 /bs4/builder/_htmlparser.py
parentf7e2daa88f5d9001e171d65b122a3bdc7052f955 (diff)
Got the test suite to pass on Python 3.2 (skipping the html5lib stuff, which doesn't seem to have Python 3 support yet.)
Diffstat (limited to 'bs4/builder/_htmlparser.py')
-rw-r--r--bs4/builder/_htmlparser.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/bs4/builder/_htmlparser.py b/bs4/builder/_htmlparser.py
index c293d9e..f9476cd 100644
--- a/bs4/builder/_htmlparser.py
+++ b/bs4/builder/_htmlparser.py
@@ -4,7 +4,12 @@ __all__ = [
'HTMLParserTreeBuilder',
]
-from HTMLParser import HTMLParser
+try:
+ from html.parser import HTMLParser
+ CONSTRUCTOR_TAKES_STRICT = True
+except ImportError, e:
+ from HTMLParser import HTMLParser
+ CONSTRUCTOR_TAKES_STRICT = False
from bs4.element import (
CData,
Comment,
@@ -28,6 +33,11 @@ class HTMLParserTreeBuilder(HTMLParser, HTMLTreeBuilder):
is_xml = False
features = [HTML, STRICT, HTMLPARSER]
+ def __init__(self, *args, **kwargs):
+ if CONSTRUCTOR_TAKES_STRICT:
+ kwargs['strict'] = True
+ return super(HTMLParserTreeBuilder, self).__init__(*args, **kwargs)
+
def prepare_markup(self, markup, user_specified_encoding=None,
document_declared_encoding=None):
"""