]> git.phdru.name Git - bookmarks_db.git/blobdiff - Robots/parse_html.py
Do not encode non-encodeable entities.
[bookmarks_db.git] / Robots / parse_html.py
index 4117b5fd2c00bd0256db024ddb3864be99362d4a..666c7071fd0072a8249b9e2bf8a0ba4cb4a6e3c6 100755 (executable)
@@ -30,7 +30,10 @@ def recode_entities(title, charset):
    output = []
    for part in entity_re.split(title):
       if entity_re.match(part):
-         part = unichr(int(part[2:-1])).encode(charset, "replace")
+         try:
+            part = unichr(int(part[2:-1])).encode(charset)
+         except UnicodeEncodeError:
+            pass # Leave the entity as is
       output.append(part)
 
    return ''.join(output)
@@ -85,7 +88,7 @@ def parse_html(filename, charset=None, log=None):
 
    title = recode_entities(title, current_charset)
    title = title.replace('\r', '').replace('\n', ' ').strip()
-   if self.log: self.log("   final title    : %s" % title)
+   if log: log("   final title    : %s" % title)
    parser.title = title
    return parser