X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=bkmk_parser.py;fp=bkmk_parser.py;h=e3b3db02532567aef8060c4546f1f3a6af6039e2;hb=c9cfb54ef36e77aee7187e4533f063d407073ad8;hp=2ec412c012c2e1c385bad0ad60349bdbb89e6f6f;hpb=a01b9869e595d0c1cc5ebeb6f5a1da66d45c3d22;p=bookmarks_db.git diff --git a/bkmk_parser.py b/bkmk_parser.py index 2ec412c..e3b3db0 100644 --- a/bkmk_parser.py +++ b/bkmk_parser.py @@ -10,6 +10,9 @@ __author__ = "Oleg Broytman " __copyright__ = "Copyright (C) 1997-2011 PhiloSoft Design" __license__ = "GNU GPL" +__all__ = ['BkmkParser'] + + import sys, os from m_lib.net.www.html import HTMLParser from bkmk_objects import Folder, Bookmark, Ruler @@ -46,14 +49,12 @@ class BkmkParser(HTMLParser): self.charset = "" self.recode = None - def handle_data(self, data): if data: if DEFAULT_CHARSET: data = unicode(data, self.charset, "replace").encode(DEFAULT_CHARSET, "xmlcharrefreplace") self.accumulator += data - # Mozilla - get charset def do_meta(self, attrs): http_equiv = "" @@ -83,7 +84,6 @@ class BkmkParser(HTMLParser): else: DEFAULT_CHARSET = locale.getpreferredencoding() - def start_title(self, attrs): if DEFAULT_CHARSET: self.accumulator += '\n' % DEFAULT_CHARSET @@ -92,7 +92,6 @@ class BkmkParser(HTMLParser): def end_title(self): self.accumulator += "" - # Start root folder def start_h1(self, attrs): root_folder = Folder() @@ -111,7 +110,6 @@ class BkmkParser(HTMLParser): debug("Root folder name: `%s'" % accumulator) self.root_folder.name = accumulator - # Start a folder def start_h3(self, attrs): last_modified = None @@ -137,7 +135,6 @@ class BkmkParser(HTMLParser): debug("Folder name: `%s'" % accumulator) self.current_folder.name = accumulator - # Start a bookmark def start_a(self, attrs): add_date = None @@ -180,7 +177,6 @@ class BkmkParser(HTMLParser): bookmark = self.current_folder[-1] bookmark.name = accumulator - def flush(self): accumulator = self.accumulator @@ -192,13 +188,11 @@ class BkmkParser(HTMLParser): current_object.comment += accumulator.strip() debug("Comment: `%s'" % current_object.comment) - def start_dl(self, attrs): self.flush() do_dt = start_dl - # End of folder def end_dl(self): self.flush() @@ -214,19 +208,16 @@ class BkmkParser(HTMLParser): debug("FOLDER STACK is EMPTY!!! (2)") self.current_object = None - def close(self): HTMLParser.close(self) if self.folder_stack: raise ValueError, "wrong folder stack: %s" % self.folder_stack - def do_dd(self, attrs): pass do_p = do_dd - # Start ruler def do_hr(self, attrs): self.flush() @@ -235,17 +226,14 @@ class BkmkParser(HTMLParser): self.current_object = None self.objects += 1 - # BR in comment def do_br(self, attrs): self.accumulator += "
" - # Allow < in the text def unknown_starttag(self, tag, attrs): self.accumulator += "<%s>" % tag - # Do not allow unknow end tags def unknown_endtag(self, tag): raise NotImplementedError("Unknow end tag `%s'" % tag)