Commit 89f12c05 authored by Marc Tamlyn's avatar Marc Tamlyn
Browse files

Add further workarounds for HTMLParser with Python 3.4.

Python 3.5 will change the default value of convert_charrefs, so 3.4
gives warnings if it's not present. This is slightly technical as 2.7
doesn't have the kwarg. Thankfully, we already have a bunch of
workarounds for different versions.
parent 0a7588dd
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -12,6 +12,17 @@ use_workaround = (
HTMLParseError = _html_parser.HTMLParseError

if not use_workaround:
    if current_version >= (3, 4):
        class HTMLParser(_html_parser.HTMLParser):
            """Explicitly set convert_charrefs to be False.

            This silences a deprecation warning on Python 3.4, but we can't do
            it at call time because Python 2.7 does not have the keyword
            argument.
            """
            def __init__(self, convert_charrefs=False):
                _html_parser.HTMLParser.__init__(self, convert_charrefs=convert_charrefs)
    else:
        HTMLParser = _html_parser.HTMLParser
else:
    tagfind = re.compile('([a-zA-Z][-.a-zA-Z0-9:_]*)(?:\s|/(?!>))*')