]> git.phdru.name Git - bookmarks_db.git/blobdiff - Robots/parse_html.py
Store icon's URIs.
[bookmarks_db.git] / Robots / parse_html.py
index 80c7aa89d28efed06db8a598088303f44d2b338b..f50b01b415b5c6fd775fa41cb20325127ebf0469 100755 (executable)
@@ -2,7 +2,7 @@
 """
    HTML Parsers wrapper
 
-   Written by Broytman. Copyright (C) 1997-2008 PhiloSoft Design
+   Written by Broytman. Copyright (C) 1997-2010 PhiloSoft Design
 """
 
 import codecs
@@ -11,6 +11,14 @@ universal_charset = "utf-8"
 DEFAULT_CHARSET = "cp1251" # Stupid default for Russian Cyrillic
 
 parsers = []
+
+try:
+   import parse_html_html5
+except ImportError:
+   pass
+else:
+   parsers.append(parse_html_html5.parse_html)
+
 try:
    import parse_html_beautifulsoup
    parse_html_beautifulsoup.DEFAULT_CHARSET = DEFAULT_CHARSET
@@ -34,7 +42,9 @@ def recode_entities(title, charset):
    for part in entity_re.split(title):
       if part not in ("&", "<", ">", """) and \
             entity_re.match(part):
-         part = unichr(name2codepoint.get(part[1:-1], part)).encode(charset)
+         _part = name2codepoint.get(part[1:-1], None)
+         if _part is not None:
+             part = unichr(_part).encode(charset)
       output.append(part)
    title = ''.join(output)