]> git.phdru.name Git - bookmarks_db.git/blob - Writers/bkmk_whtml.py
Version 3.3.1.
[bookmarks_db.git] / Writers / bkmk_whtml.py
1 #! /usr/local/bin/python -O
2 """
3    Convert a bkmk database back to bookmarks.html
4
5    Written by BroytMann, Mar 2000. Copyright (C) 2000 PhiloSoft Design
6 """
7
8
9 import string
10
11
12 def dump_comment(comment):
13    return string.replace(comment, "<BR>", "<BR>\n")
14
15
16 ind_s = " "*4
17
18 from bkmk_objects import Writer
19
20 class writer_html(Writer):
21    filename = "bookmarks.html"
22
23    def _folder(self, f, level):
24       if f.comment: self.outfile.write('<DD>%s\n' % dump_comment(f.comment))
25       self.outfile.write(ind_s*level + "<DL><p>\n")
26
27    def root_folder(self, f):
28       header = string.replace(f.header, ".", ".\n")
29       header = string.replace(header, "<T", "\n<T", 3)
30       self.outfile.write("<!DOCTYPE NETSCAPE-Bookmark-file-1>\n")
31       self.outfile.write(header + "\n")
32       self.outfile.write('<H1>%s</H1>\n\n' % f.name)
33       self._folder(f, 0)
34
35    def start_folder(self, f, level):
36       self.outfile.write(ind_s*level + '<DT><H3 ADD_DATE="%s">%s</H3>\n' % (f.add_date, f.name))
37       self._folder(f, level)
38
39    def end_folder(self, f, level):
40       self.outfile.write(ind_s*level + "</DL><p>\n")
41
42    def bookmark(self, b, level):
43       self.outfile.write(ind_s*(level+1) + '<DT><A HREF="%s" ADD_DATE="%s" LAST_VISIT="%s" LAST_MODIFIED="%s">%s</A>\n' % (b.href, b.add_date, b.last_visit, b.last_modified, b.name))
44       if b.comment: self.outfile.write('<DD>%s\n' % dump_comment(b.comment))
45
46    def ruler(self, r, level):
47       self.outfile.write(ind_s*(level+1) + "<HR>\n")