"""
__author__ = "Oleg Broytman <phd@phdru.name>"
-__copyright__ = "Copyright (C) 2000-2012 PhiloSoft Design"
+__copyright__ = "Copyright (C) 2000-2023 PhiloSoft Design"
__license__ = "GNU GPL"
__all__ = ['writer_html']
-from m_lib.defenc import default_encoding
from bkmk_objects import Writer, BKMK_FORMAT, quote_title
+from compat import unicode
def dump_comment(comment):
- comment = comment.replace("<BR>\n", "\n")
- if BKMK_FORMAT == "NETSCAPE":
- comment = comment.replace("\n", "<BR>\n")
- return comment
+ comment = comment.replace("<BR>\n", "\n")
+ if BKMK_FORMAT == "NETSCAPE":
+ comment = comment.replace("\n", "<BR>\n")
+ return comment
+
ind_s = " "*4
+
class writer_html(Writer):
- filename = "bookmarks.html"
-
- def _folder(self, f, level):
- if f.comment: self.outfile.write('<DD>%s\n' % dump_comment(f.comment))
- self.outfile.write(ind_s*level + "<DL><p>\n")
-
- def root_folder(self, f):
- self.outfile.write("<!DOCTYPE NETSCAPE-Bookmark-file-1>\n")
- self.outfile.write(f.header + "\n")
- self.outfile.write('<H1>%s</H1>\n\n' % quote_title(f.name))
- self._folder(f, 0)
-
- def start_folder(self, f, level):
- self.outfile.write(ind_s*level + '<DT><H3 ADD_DATE="%s"' % f.add_date)
- if (BKMK_FORMAT == "MOZILLA") and f.last_modified: self.outfile.write(' LAST_MODIFIED="%s"' % f.last_modified)
- self.outfile.write('>%s</H3>\n' % quote_title(f.name))
- self._folder(f, level)
-
- def end_folder(self, f, level):
- self.outfile.write(ind_s*level + "</DL><p>\n")
-
- def bookmark(self, b, level):
- self.outfile.write(ind_s*(level+1) + '<DT><A HREF="%s" ADD_DATE="%s"' % (b.href, b.add_date))
- if b.last_visit: self.outfile.write(' LAST_VISIT="%s"' % b.last_visit)
- if b.last_modified:
- self.outfile.write(' LAST_MODIFIED="%s"' % b.last_modified)
- if BKMK_FORMAT == "MOZILLA":
- if b.keyword: self.outfile.write(' SHORTCUTURL="%s"' % b.keyword)
- if b.icon_href:
- value = b.icon_href
- if isinstance(value, unicode):
- value = value.encode('utf-8')
- self.outfile.write(' ICON_URI="%s"' % value)
- if b.icon: self.outfile.write(' ICON="%s"' % b.icon)
- if b.charset: self.outfile.write(' LAST_CHARSET="%s"' % b.charset)
- self.outfile.write('>%s</A>\n' % quote_title(b.name))
- if b.comment: self.outfile.write('<DD>%s\n' % dump_comment(b.comment))
-
- def ruler(self, r, level):
- self.outfile.write(ind_s*(level+1) + "<HR>\n")
+ filename = "bookmarks.html"
+
+ def _folder(self, f, level):
+ if f.comment: self.outfile.write('<DD>%s\n' % dump_comment(f.comment))
+ self.outfile.write(ind_s*level + "<DL><p>\n")
+
+ def root_folder(self, f):
+ self.outfile.write("<!DOCTYPE NETSCAPE-Bookmark-file-1>\n")
+ self.outfile.write(f.header + "\n")
+ self.outfile.write('<H1>%s</H1>\n\n' % quote_title(f.name))
+ self._folder(f, 0)
+
+ def start_folder(self, f, level):
+ self.outfile.write(ind_s*level + '<DT><H3 ADD_DATE="%s"' % f.add_date)
+ if (BKMK_FORMAT == "MOZILLA") and f.last_modified:
+ self.outfile.write(' LAST_MODIFIED="%s"' % f.last_modified)
+ self.outfile.write('>%s</H3>\n' % quote_title(f.name))
+ self._folder(f, level)
+
+ def end_folder(self, f, level):
+ self.outfile.write(ind_s*level + "</DL><p>\n")
+
+ def bookmark(self, b, level):
+ self.outfile.write(ind_s*(level+1) + '<DT><A HREF="%s" ADD_DATE="%s"'
+ % (b.href, b.add_date))
+ if b.last_visit: self.outfile.write(' LAST_VISIT="%s"' % b.last_visit)
+ if b.last_modified:
+ self.outfile.write(' LAST_MODIFIED="%s"' % b.last_modified)
+ if BKMK_FORMAT == "MOZILLA":
+ if b.keyword: self.outfile.write(' SHORTCUTURL="%s"' % b.keyword)
+ if b.icon_href:
+ value = b.icon_href
+ if isinstance(value, unicode):
+ value = value.encode('utf-8')
+ self.outfile.write(' ICON_URI="%s"' % value)
+ if b.icon: self.outfile.write(' ICON="%s"' % b.icon)
+ if b.charset: self.outfile.write(' LAST_CHARSET="%s"' % b.charset)
+ self.outfile.write('>%s</A>\n' % quote_title(b.name))
+ if b.comment: self.outfile.write('<DD>%s\n' % dump_comment(b.comment))
+
+ def ruler(self, r, level):
+ self.outfile.write(ind_s*(level+1) + "<HR>\n")