import codecs
import os
import re
-from htmlentitydefs import name2codepoint
+try:
+ from html.entities import name2codepoint
+except ImportError:
+ from htmlentitydefs import name2codepoint
from compat import unicode, unichr
def parse_html(html_text, charset=None, log=None):
- if not parsers:
+ if not html_text or not parsers:
return None
if charset:
# parser.charset = 'ascii'
converted_title = title = parser.title
- if title and (not parser.charset):
+ if title and isinstance(title, bytes) and (not parser.charset):
try:
title.decode("ascii")
except UnicodeDecodeError:
def parse_filename(filename, charset=None, log=None):
- fp = open(filename, 'r')
+ fp = open(filename, 'rt')
try:
parser = parse_html(fp.read(), charset=charset, log=log)
finally: