"""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)