]> git.phdru.name Git - bookmarks_db.git/blob - Writers/bkmk_wflad.py
Write icon's URIs.
[bookmarks_db.git] / Writers / bkmk_wflad.py
1 """
2    Dump bookmarks db to a more readable FLat Ascii Database
3
4    Written by Broytman. Copyright (C) 2000-2010 PhiloSoft Design.
5 """
6
7
8 import time
9 from bkmk_objects import Writer
10
11
12 def strftime(s):
13    try:
14       return time.strftime("%a %d %b %Y %T", time.localtime(int(s)))
15    except (TypeError, ValueError): # s is None or is already formatted
16       return s
17
18
19 class writer_flad(Writer):
20    filename = "bookmarks_db.flad"
21
22    def __init__(self, outfile, prune=None):
23       Writer.__init__(self, outfile, prune)
24       self.first_object = 1
25
26
27    def start_folder(self, f, level):
28       self.outfile.write("""
29 Level: %d
30 Folder: %s
31 AddDate: %s
32 Comment: %s
33 LastModified: %s
34 """ % (level, f.name, strftime(f.add_date), f.comment, f.last_modified or ''))
35
36
37    def bookmark(self, b, level):
38       self.outfile.write("""
39 Level: %d
40 Title: %s
41 URL: %s
42 AddDate: %s
43 LastVisit: %s
44 LastModified: %s
45 Keyword: %s
46 Comment: %s""" % (level+1, b.name, b.href, strftime(b.add_date), strftime(b.last_visit), strftime(b.last_modified), b.keyword, b.comment))
47
48       for attr_name, attr_out in (("error", "Error"), ("no_error", "NoError"),
49             ("moved", "Moved"), ("size", "Size"), ("md5", "Md5"),
50             ("real_title", "RealTitle"), ("test_time", "TestTime"),
51             ("icon_href", "IconURI"), ("icon", "Icon"), ("charset", "Charset")):
52          if hasattr(b, attr_name):
53             self.outfile.write("\n%s: %s" % (attr_out, getattr(b, attr_name)))
54
55       if hasattr(b, "last_tested"):
56          self.outfile.write("\n%s: %s" % ("LastTested", strftime(getattr(b, "last_tested"))))
57
58       self.outfile.write("\n")
59
60    def ruler(self, r, level):
61       self.outfile.write("\nLevel: %s\nRuler: YES\n" % (level+1))