X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=bkmk_parser.py;h=3f2182cf4c15e3f73631874d54aada5ff4ac55e0;hb=9989e73be9690cf0fccab901c9db81711cb9a9e7;hp=02cce680747e054a698f79b4ccd175b8f04b0e96;hpb=bcf579e3311f0d9f968338dc419e9a43b48414ba;p=bookmarks_db.git diff --git a/bkmk_parser.py b/bkmk_parser.py old mode 100755 new mode 100644 index 02cce68..3f2182c --- a/bkmk_parser.py +++ b/bkmk_parser.py @@ -1,7 +1,7 @@ """ Parser for Netscape Navigator's and Mozilla's bookmarks.html - Written by BroytMann. Copyright (C) 1997-2007 PhiloSoft Design + Written by Broytman. Copyright (C) 1997-2008 PhiloSoft Design """ @@ -45,7 +45,7 @@ class BkmkParser(HTMLParser): def handle_data(self, data): if data: if DEFAULT_CHARSET: - data = unicode(data, self.charset, "replace").encode(DEFAULT_CHARSET, "replace") + data = unicode(data, self.charset, "replace").encode(DEFAULT_CHARSET, "xmlcharrefreplace") self.accumulator += data @@ -135,9 +135,12 @@ class BkmkParser(HTMLParser): # Start a bookmark def start_a(self, attrs): + add_date = None last_visit = None last_modified = None keyword = None + icon = None + charset = None for attrname, value in attrs: value = value.strip() @@ -151,9 +154,14 @@ class BkmkParser(HTMLParser): last_modified = value elif attrname == "shortcuturl": keyword = value + elif attrname == "icon": + icon = value + elif attrname == "last_charset": + charset = value debug("Bookmark points to: `%s'" % href) - bookmark = Bookmark(href, add_date, last_visit, last_modified, keyword or '') + bookmark = Bookmark(href, add_date, last_visit, last_modified, + keyword or '', '', icon, charset) self.current_object = bookmark self.current_folder.append(bookmark) self.urls += 1