X-Git-Url: https://git.phdru.name/?p=bookmarks_db.git;a=blobdiff_plain;f=storage.py;h=a71cdeb75af78896399d5746557c5a41840044a8;hp=5d309bf5a3a5c177f67d277c9b23120752f1d7ef;hb=HEAD;hpb=832eb757ef7f81abf1e431ce16f368c10dd57962 diff --git a/storage.py b/storage.py index 5d309bf..75b424d 100644 --- a/storage.py +++ b/storage.py @@ -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 " -__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)