]> git.phdru.name Git - bookmarks_db.git/blobdiff - Robots/parse_html.py
Added HTML Parser based on TidyHTMLTreeBuilder.
[bookmarks_db.git] / Robots / parse_html.py
index fd8dc927c0d78d7adcd8394457774450ff9dd403..cc7655bfa950770d3f092ad7c32d387f2f65bd8b 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_etreetidy
+except ImportError:
+   pass
+else:
+   parsers.append(parse_html_etreetidy.parse_html)
+
 try:
    import parse_html_beautifulsoup
    parse_html_beautifulsoup.DEFAULT_CHARSET = DEFAULT_CHARSET
@@ -35,11 +43,9 @@ def recode_entities(title, charset):
       if part not in ("&", "<", ">", """) and \
             entity_re.match(part):
          _part = name2codepoint.get(part[1:-1], None)
-         if _part is None:
-             _part = part
-         else:
-             _part = unichr(_part).encode(charset)
-      output.append(_part)
+         if _part is not None:
+             part = unichr(_part).encode(charset)
+      output.append(part)
    title = ''.join(output)
 
    output = []