X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=bkmk_parser.py;h=997728f3b9ceba4072be9c7c872d02fda8ca763b;hb=5e3685956769a46ded587d33d5cb69ca4d0bbe7a;hp=6a69433ddf9ca3286cd3410284435b199c73252c;hpb=c88cb7a75e7caf1d67466cfa107981d95115fa0c;p=bookmarks_db.git diff --git a/bkmk_parser.py b/bkmk_parser.py index 6a69433..997728f 100644 --- a/bkmk_parser.py +++ b/bkmk_parser.py @@ -4,7 +4,7 @@ This file is a part of Bookmarks database and Internet robot. """ __author__ = "Oleg Broytman " -__copyright__ = "Copyright (C) 1997-2017 PhiloSoft Design" +__copyright__ = "Copyright (C) 1997-2023 PhiloSoft Design" __license__ = "GNU GPL" __all__ = ['BkmkParser'] @@ -16,18 +16,18 @@ from m_lib.net.www.html import HTMLParser from bkmk_objects import Folder, Bookmark, Ruler -DEBUG = os.environ.has_key("BKMK_DEBUG") +DEBUG = "BKMK_DEBUG" in os.environ if DEBUG: def debug(note): print(note) def dump_names(folder_stack): - l = [] + _l = [] for object in folder_stack: if object.isFolder: - l.append(object.name) - return "'%s'" % "' '".join(l) + _l.append(object.name) + return "'%s'" % "' '".join(_l) else: def debug(note): @@ -47,8 +47,9 @@ class BkmkParser(HTMLParser): def handle_data(self, data): if data: - if self.charset and default_encoding: - data = unicode(data, self.charset, "replace").encode(default_encoding, "xmlcharrefreplace") + #if self.charset and default_encoding: + # data = data.decode(self.charset, "replace").\ + # encode(default_encoding, "xmlcharrefreplace") self.accumulator += data # Mozilla - get charset @@ -72,7 +73,8 @@ class BkmkParser(HTMLParser): def start_title(self, attrs): if default_encoding: - self.accumulator += '\n' % default_encoding + self.accumulator += '\n' % default_encoding self.accumulator += "" def end_title(self): @@ -110,7 +112,7 @@ class BkmkParser(HTMLParser): folder = Folder(add_date, last_modified=last_modified) self.current_object = folder self.current_folder.append(folder) - self.folder_stack.append(folder) # push new folder + self.folder_stack.append(folder) # push new folder self.current_folder = folder self.objects += 1 @@ -149,8 +151,8 @@ class BkmkParser(HTMLParser): debug("Bookmark points to: `%s'" % href) bookmark = Bookmark(href, add_date, last_visit, last_modified, - keyword=keyword, icon=icon, - charset=charset, parser_charset=self.charset or default_encoding) + keyword=keyword, icon=icon, charset=charset, + parser_charset=self.charset or default_encoding) self.current_object = bookmark self.current_folder.append(bookmark) self.urls += 1 @@ -186,7 +188,7 @@ class BkmkParser(HTMLParser): debug("End folder") debug("Folder stack: %s" % dump_names(self.folder_stack)) if self.folder_stack: - del self.folder_stack[-1] # pop last folder + del self.folder_stack[-1] # pop last folder if self.folder_stack: self.current_folder = self.folder_stack[-1] else: