]> git.phdru.name Git - bookmarks_db.git/blobdiff - Storage/bkmk_stflad.py
Feat(Python3): `raise Error, value` -> `raise Error(value)`
[bookmarks_db.git] / Storage / bkmk_stflad.py
index 3c017fa12c5768546c5a5504c70b2456a82b8ada..b936c4a723b5485295ace7ed958706d23fabaa84 100644 (file)
@@ -1,10 +1,16 @@
-"""
-   Bookmarks storage module - FLAD (Flat ASCII Database)
-      special version for compatibility with old (version 1) bkmk2db
+"""Bookmarks storage module - FLAD (Flat ASCII Database)
+
+Special version for compatibility with old (version 1) bkmk2db.
 
-   Written by BroytMann, Feb 2000 - Aug 2004. Copyright (C) 2000-2004 PhiloSoft Design
+This file is a part of Bookmarks database and Internet robot.
 """
 
+__author__ = "Oleg Broytman <phd@phdru.name>"
+__copyright__ = "Copyright (C) 2000-2017 PhiloSoft Design"
+__license__ = "GNU GPL"
+
+__all__ = ['storage_flad']
+
 
 import string
 from m_lib.flad import fladm
@@ -32,8 +38,8 @@ Level: %d
 Folder: %s
 AddDate: %s
 Comment: %s
-""" % (level, f.name, f.add_date, f.comment))
-
+LastModified: %s
+""" % (level, f.name, f.add_date, f.comment, f.last_modified or ''))
 
    def bookmark(self, b, level):
       self.outfile.write("""
@@ -45,19 +51,21 @@ LastVisit: %s
 LastModified: %s
 Keyword: %s
 Comment: %s
-""" % (level+1, b.name, b.href, b.add_date, b.last_visit, b.last_modified, b.keyword, b.comment))
-
+IconURI: %s
+Icon: %s
+Charset: %s
+""" % (level+1, b.name, b.href, b.add_date, b.last_visit, b.last_modified,
+         b.keyword, b.comment.replace('\n', "\\n"),
+         b.icon_href or '', b.icon or '', b.charset or ''))
 
    def ruler(self, r, level):
       self.outfile.write("\nLevel: %s\nRuler: YES\n" % (level+1))
 
-
    def store(self, root_folder):
       self.outfile = open(self.filename, 'w')
       root_folder.walk_depth(self)
       self.outfile.close()
 
-
    def unindent(self, old_level, new_level):
       while old_level > new_level:
          old_level = old_level - 1
@@ -94,22 +102,25 @@ Comment: %s
             pass
          elif level == save_level + 1:
             if not got_folder:
-               raise ValueError, "indent without folder"
+               raise ValueError("indent without folder")
          elif level <= save_level - 1:
             self.unindent(save_level, level)
          else:
-            raise ValueError, "new level (%d) too big; must be %d - %d" % (level, save_level-1, save_level+1)
+            raise ValueError("new level (%d) too big; must be %d - %d" % (level, save_level-1, save_level+1))
 
          save_level = level
          got_folder = record.has_key("Folder") # Test here to save got_folder for next loop
 
          if record.has_key("URL"):
-            bookmark = Bookmark(record["URL"], record["AddDate"], record["LastVisit"], record["LastModified"], record["Keyword"], record["Comment"])
+            comment = record["Comment"].replace("\\n", '\n')
+            bookmark = Bookmark(record["URL"], record["AddDate"],
+               record["LastVisit"], record["LastModified"],
+               record["Keyword"], comment)
             bookmark.name = record["Title"]
             self.current_folder.append(bookmark)
 
          elif record.has_key("Folder"):
-            folder = Folder(record["AddDate"], record["Comment"])
+            folder = Folder(record["AddDate"], record["Comment"], record["LastModified"])
             folder.name = record["Folder"]
             self.current_folder.append(folder)
             self.folder_stack.append(folder)
@@ -119,11 +130,11 @@ Comment: %s
             self.current_folder.append(Ruler())
 
          else:
-            raise KeyError, "neither \"URL\" nor \"Folder\" nor \"Ruler\" in record " + str(record)
+            raise KeyError("neither \"URL\" nor \"Folder\" nor \"Ruler\" in record " + str(record))
 
       if save_level >= 0:
          self.unindent(save_level, 0)
       else:
-         raise ValueError, "new level (%d) too little - must be >= 0" % save_level
+         raise ValueError("new level (%d) too little - must be >= 0" % save_level)
 
       return root_folder