2 Convert a bkmk database back to bookmarks.html
4 Written by BroytMann. Copyright (C) 2000-2007 PhiloSoft Design
9 NSFORMAT = os.environ.has_key("BKMK_NSFORMAT")
12 def dump_comment(comment):
13 comment = comment.replace("<BR>\n", "\n")
15 comment = comment.replace("\n", "<BR>\n")
21 from bkmk_objects import Writer
23 class writer_html(Writer):
24 filename = "bookmarks.html"
26 def _folder(self, f, level):
27 if f.comment: self.outfile.write('<DD>%s\n' % dump_comment(f.comment))
28 self.outfile.write(ind_s*level + "<DL><p>\n")
30 def root_folder(self, f):
31 self.outfile.write("<!DOCTYPE NETSCAPE-Bookmark-file-1>\n")
32 self.outfile.write(f.header + "\n")
33 self.outfile.write('<H1>%s</H1>\n\n' % f.name)
36 def start_folder(self, f, level):
37 self.outfile.write(ind_s*level + '<DT><H3 ADD_DATE="%s"' % f.add_date)
38 if f.last_modified: self.outfile.write(' LAST_MODIFIED="%s"' % f.last_modified)
39 self.outfile.write('>%s</H3>\n' % f.name)
40 self._folder(f, level)
42 def end_folder(self, f, level):
43 self.outfile.write(ind_s*level + "</DL><p>\n")
45 def bookmark(self, b, level):
46 self.outfile.write(ind_s*(level+1) + '<DT><A HREF="%s" ADD_DATE="%s" LAST_VISIT="%s" LAST_MODIFIED="%s"' % (b.href, b.add_date, b.last_visit, b.last_modified))
47 if b.keyword: self.outfile.write(' SHORTCUTURL="%s"' % b.keyword)
48 if b.icon: self.outfile.write(' ICON="%s"' % b.icon)
49 if b.charset: self.outfile.write(' LAST_CHARSET="%s"' % b.charset)
50 self.outfile.write('>%s</A>\n' % b.name)
51 if b.comment: self.outfile.write('<DD>%s\n' % dump_comment(b.comment))
53 def ruler(self, r, level):
54 self.outfile.write(ind_s*(level+1) + "<HR>\n")