]> git.phdru.name Git - bookmarks_db.git/blob - Writers/bkmk_whtml.py
Implemented keywords in Mozilla bookmarks.
[bookmarks_db.git] / Writers / bkmk_whtml.py
1 """
2    Convert a bkmk database back to bookmarks.html
3
4    Written by BroytMann. Copyright (C) 2000-2004 PhiloSoft Design
5 """
6
7
8 import os
9 NSFORMAT = os.environ.has_key("BKMK_NSFORMAT")
10
11
12 def dump_comment(comment):
13    comment = comment.replace("<BR>\n", "\n")
14    if NSFORMAT:
15       comment = comment.replace("\n", "<BR>\n")
16    return comment
17
18
19 ind_s = " "*4
20
21 from bkmk_objects import Writer
22
23 class writer_html(Writer):
24    filename = "bookmarks.html"
25
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")
29
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)
34       self._folder(f, 0)
35
36    def start_folder(self, f, level):
37       self.outfile.write(ind_s*level + '<DT><H3 ADD_DATE="%s">%s</H3>\n' % (f.add_date, f.name))
38       self._folder(f, level)
39
40    def end_folder(self, f, level):
41       self.outfile.write(ind_s*level + "</DL><p>\n")
42
43    def bookmark(self, b, level):
44       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))
45       if b.keyword: self.outfile.write(' SHORTCUTURL="%s"' % b.keyword)
46       self.outfile.write('>%s</A>\n' % b.name)
47       if b.comment: self.outfile.write('<DD>%s\n' % dump_comment(b.comment))
48
49    def ruler(self, r, level):
50       self.outfile.write(ind_s*(level+1) + "<HR>\n")