X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=Storage%2Fbkmk_stjson.py;h=88429b639b793033abd64dd03fc7659327041ec0;hb=7374ff35481e6d92fa38e0e2dc84f40886777293;hp=1194aed0743167fc796724fbab3784d001fb7f29;hpb=3de6c8f6da84fdc757f3b4a3355ed502c4a75318;p=bookmarks_db.git diff --git a/Storage/bkmk_stjson.py b/Storage/bkmk_stjson.py index 1194aed..88429b6 100644 --- a/Storage/bkmk_stjson.py +++ b/Storage/bkmk_stjson.py @@ -1,9 +1,17 @@ -""" - Bookmarks storage manager - json. +"""Bookmarks storage manager - json - Written by Broytman, Jul 2010. Copyright (C) 2010 PhiloSoft Design +This file is a part of Bookmarks database and Internet robot. """ +__version__ = "$Revision$"[11:-2] +__revision__ = "$Id$"[5:-2] +__date__ = "$Date$"[7:-2] +__author__ = "Oleg Broytman " +__copyright__ = "Copyright (C) 2010, 2011 PhiloSoft Design" +__license__ = "GNU GPL" + +__all__ = ['storage_json'] + try: import json @@ -99,7 +107,6 @@ class storage_json(Walker): outfile.close() del self.dict - def load(self): infile = open(self.filename, 'rb') bkmk_s = infile.read() @@ -108,6 +115,7 @@ class storage_json(Walker): # Work around a bug in Mozilla - remove the trailing comma bkmk_s = bkmk_s.strip().replace(',]', ']') bookmarks_dict = json.loads(bkmk_s) + del bkmk_s root_folder = Folder() root_folder.header = '' @@ -125,7 +133,7 @@ class storage_json(Walker): def load_folder(self, folder, fdict): if fdict["type"] != "text/x-moz-place-container": - raise ValueError("Root object is not a Mozilla container") + raise ValueError("The object is not a Mozilla container") folder.id = fdict["id"] folder.index = fdict.get("index") @@ -183,14 +191,14 @@ def encode(title): def get_comment(annos): if not annos: - return None + return '' for a in annos: if a["name"] == "bookmarkProperties/description" and \ a["type"] == 3: return a["value"].encode('utf-8') - return None + return '' def make_annos(value, name="bookmarkProperties/description"): return [{