X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=parse_html%2Fbkmk_ph_beautifulsoup4.py;h=182a123b402173d6a29c5e12d8971646541ba07f;hb=9faa13f6f8199790cf01533e857c593520559649;hp=b7f60ffd12033f787d6c4e6973324456948dce68;hpb=4255ead7de9ed5069f94b90cb134a077387d43c1;p=bookmarks_db.git diff --git a/parse_html/bkmk_ph_beautifulsoup4.py b/parse_html/bkmk_ph_beautifulsoup4.py index b7f60ff..182a123 100644 --- a/parse_html/bkmk_ph_beautifulsoup4.py +++ b/parse_html/bkmk_ph_beautifulsoup4.py @@ -18,12 +18,14 @@ from .bkmk_ph_util import HTMLParser universal_charset = "utf-8" DEFAULT_CHARSET = "cp1251" # Stupid default for Russian Cyrillic + def _parse_html(html_text, charset): try: return BeautifulSoup(html_text, from_encoding=charset) except TypeError: return None + def parse_html(html_text, charset=None, log=None): root = _parse_html(html_text, charset) if root is None: @@ -103,17 +105,21 @@ def parse_html(html_text, charset=None, log=None): return None return HTMLParser(_charset, meta_charset, title, refresh, icon) + def _find_contenttype(Tag): return (Tag.name == "meta") and \ (Tag.get_attribute_list("http-equiv", '')[0].lower() == "content-type") + def _find_charset(Tag): return (Tag.name == "meta") and Tag.get("charset", '') + def _find_refresh(Tag): return (Tag.name == "meta") and \ (Tag.get_attribute_list("http-equiv", '')[0].lower() == "refresh") + def _find_icon(Tag): return (Tag.name == "link") and \ (Tag.get_attribute_list("rel", '')[0].lower() in ('icon', 'shortcut icon'))