X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=parse_html%2Fbkmk_ph_beautifulsoup.py;h=0aad3dde72557abdb2f97edeea4d814151f388f6;hb=refs%2Ftags%2F5.0.0;hp=e29b4997932d764d29ebc290b9f407ec796a8063;hpb=ee4dd2756362df1708298ff435e898b83a2d02a4;p=bookmarks_db.git diff --git a/parse_html/bkmk_ph_beautifulsoup.py b/parse_html/bkmk_ph_beautifulsoup.py index e29b499..0aad3dd 100644 --- a/parse_html/bkmk_ph_beautifulsoup.py +++ b/parse_html/bkmk_ph_beautifulsoup.py @@ -14,7 +14,9 @@ __all__ = ['parse_html'] import re from sgmllib import SGMLParser, SGMLParseError from BeautifulSoup import BeautifulSoup, CData + from .bkmk_ph_util import HTMLParser +from compat import string_type DEFAULT_CHARSET = "cp1251" # Stupid default for Russian Cyrillic @@ -60,6 +62,8 @@ def _parse_html(html_text, charset): def parse_html(html_text, charset=None, log=None): + if not html_text: + return None root = _parse_html(html_text, charset) if root is None: return None @@ -95,7 +99,7 @@ def parse_html(html_text, charset=None, log=None): else: parts = [] for part in title: - if not isinstance(part, basestring): + if not isinstance(part, string_type): part = part.decode() parts.append(part.strip()) title = ''.join(parts) @@ -123,8 +127,8 @@ def parse_html(html_text, charset=None, log=None): if meta_content: meta_charset = _charset = meta_content.lower() - if title and (_charset or meta_charset): - title = title.encode(_charset or meta_charset) + #if title and (_charset or meta_charset): + # title = title.encode(_charset or meta_charset) meta = head.find(_find_refresh, recursive=False) if meta: