# # Galeon XBEL bookmarks to plain HTML converter # # Rajarshi Guha # rajarshi@presidency.com # # 1) The converter is now a class - right now, the only useful function # to call is converter() # 2) The output HTML is nicely indented corresponding to the folders # in the original XBEL file # import xml.parsers.expat import string import sys class xbel2netscape: def __init__(self,args): self.bookmark = 0 self.title = 0 self.folder = 0 self.outf = open(args[2],'w') self.inf = open(args[1],'r') self.p = xml.parsers.expat.ParserCreate() self.p.StartElementHandler = self.start_element self.p.EndElementHandler = self.end_element self.p.CharacterDataHandler = self.char_data def start_element(self, name, attrs): if (name == "separator"): self.outf.write("
\n") if (name == "bookmark"): self.bookmark = 1 self.outf.write('
\n') def char_data(self, data): if (repr(data) == "'Bookmarks'"): return if(self.title and self.folder): self.outf.write('
') while 1: l = self.inf.readline() if not l: break s = s + l self.p.Parse(s) self.outf.write('