X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=Storage%2Fbkmk_stflad.py;h=81a4e6dc38e025c36ab2981737504efdeac42311;hb=HEAD;hp=232229194a44aa8bbc8ddf1c552cf6626764504d;hpb=a5a3a03d6067edaae395c8d5386257b55f3850f3;p=bookmarks_db.git diff --git a/Storage/bkmk_stflad.py b/Storage/bkmk_stflad.py index 2322291..81a4e6d 100644 --- a/Storage/bkmk_stflad.py +++ b/Storage/bkmk_stflad.py @@ -12,7 +12,6 @@ __license__ = "GNU GPL" __all__ = ['storage_flad'] -import string from m_lib.flad import fladm from bkmk_objects import Folder, Bookmark, Ruler, Walker @@ -24,9 +23,9 @@ class storage_flad(Walker): self.first_object = 1 def root_folder(self, f): - header = string.replace(f.header, ".", ".\n") - header = string.replace(header, "<", "\n<", 3)[1:] - header_file = open("header", 'w') + header = f.header.replace(".", ".\n") + header = header.replace("<", "\n<", 3)[1:] + header_file = open("header", 'wt', encoding='utf-8') header_file.write(header + "\n") header_file.write('

%s

\n\n' % f.name) if f.comment: header_file.write('
%s\n' % f.comment) @@ -62,7 +61,7 @@ Charset: %s self.outfile.write("\nLevel: %s\nRuler: YES\n" % (level+1)) def store(self, root_folder): - self.outfile = open(self.filename, 'w') + self.outfile = open(self.filename, 'wt', encoding='utf-8') root_folder.walk_depth(self) self.outfile.close() @@ -77,23 +76,24 @@ Charset: %s self.current_folder = None def load(self): - bookmarks_db = fladm.load_from_file(self.filename, fladm.check_record, ["Level"]) + bookmarks_db = fladm.load_from_file( + self.filename, fladm.check_record, ["Level"]) root_folder = Folder() self.folder_stack = [root_folder] self.current_folder = root_folder - header_file = open("header", 'r') + header_file = open("header", 'rt', encoding='utf-8') header = header_file.read() header_file.close() - header = string.split(header, "\n") - root_folder.header = string.join(header[:5], '') - root_folder.name = header[5][4:-5] - root_folder.comment = string.join(header[7:], '')[4:] + header = header.split("\n") + root_folder.header = ''.join(header[:5]) + root_folder.name = ''.join(header[5:6])[4:-5] + root_folder.comment = ''.join(header[7:])[4:] save_level = 0 - got_folder = 1 # Start as if we already have one folder + got_folder = 1 # Start as if we already have one folder for record in bookmarks_db: level = int(record["Level"]) @@ -106,12 +106,14 @@ Charset: %s 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 + # Test here to save got_folder for next loop + got_folder = "Folder" in record - if record.has_key("URL"): + if "URL" in record: comment = record["Comment"].replace("\\n", '\n') bookmark = Bookmark( record["URL"], record["AddDate"], @@ -120,22 +122,29 @@ Charset: %s bookmark.name = record["Title"] self.current_folder.append(bookmark) - elif record.has_key("Folder"): - folder = Folder(record["AddDate"], record["Comment"], record["LastModified"]) + elif "Folder" in record: + folder = Folder( + record["AddDate"], record["Comment"], + record["LastModified"] + ) folder.name = record["Folder"] self.current_folder.append(folder) self.folder_stack.append(folder) self.current_folder = folder - elif record.has_key("Ruler"): + elif "Ruler" in record: 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