]> git.phdru.name Git - bookmarks_db.git/blobdiff - parse_html/bkmk_ph_beautifulsoup4.py
Fix(parse_html): Fix import
[bookmarks_db.git] / parse_html / bkmk_ph_beautifulsoup4.py
index b7f60ffd12033f787d6c4e6973324456948dce68..fbd54ff9cfd207c583d5119ba06c20faf23f9d4d 100644 (file)
@@ -11,19 +11,22 @@ __license__ = "GNU GPL"
 __all__ = ['parse_html']
 
 
-import re
 from bs4 import BeautifulSoup
+
 from .bkmk_ph_util import HTMLParser
+from compat import string_type
 
 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:
@@ -53,8 +56,8 @@ def parse_html(html_text, charset=None, log=None):
         else:
             parts = []
             for part in title:
-                if not isinstance(part, basestring):
-                    part = unicode(part)
+                if not isinstance(part, string_type):
+                    part = part.decode()
                 parts.append(part.strip())
             title = ''.join(parts)
 
@@ -63,7 +66,8 @@ def parse_html(html_text, charset=None, log=None):
         try:
             meta_content = meta.get("content")
             if meta_content:
-                __charset = meta_content.lower().split('charset=')[1].split(';')[0]
+                __charset = meta_content.lower().split('charset=')[1].\
+                    split(';')[0]
             else:
                 __charset = False
         except IndexError:  # No charset in the META Content-Type
@@ -103,17 +107,22 @@ 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'))
+       (Tag.get_attribute_list("rel", '')[0].lower()
+        in ('icon', 'shortcut icon'))