]> git.phdru.name Git - bookmarks_db.git/blobdiff - storage.py
Fix(Robot): Stop splitting and un-splitting URLs
[bookmarks_db.git] / storage.py
index 5d309bf5a3a5c177f67d277c9b23120752f1d7ef..75b424dc31a553638d9daebf80ee3a3660f78825 100644 (file)
@@ -1,21 +1,30 @@
 """Thin wrapper for module Storage. Provides "default" storage
 
 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 <phd@phdru.name>"
-__copyright__ = "Copyright (C) 1997-2011 PhiloSoft Design"
+__copyright__ = "Copyright (C) 1997-2023 PhiloSoft Design"
 __license__ = "GNU GPL"
 
+__all__ = ['import_storage', 'storage']
+
+
 from os import environ
-storage_name = environ.get("BKMK_STORAGE", "pickle")
+from bkmk_objects import parse_params, set_params
+
+storage_name, storage_params = parse_params(
+    environ.get("BKMK_STORAGE", "pickle"))
+
 
 def import_storage(storage_name):
-   exec "from Storage import bkmk_st%s" % storage_name
-   exec "storage = bkmk_st%s.storage_%s" % (storage_name, storage_name)
-   return storage
+    ns = locals()
+    exec("from Storage import bkmk_st%s" % storage_name, globals(), ns)
+    exec("storage = bkmk_st%s.storage_%s" %
+         (storage_name, storage_name), globals(), ns)
+    return ns['storage']
+
 
 storage = import_storage(storage_name)
+set_params(storage, storage_params)