X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=storage.py;h=84c8dd5167de64112df1ee3431fa738ff1511df7;hb=3dcc828780e34c685703def5278607cfd283fb72;hp=a71cdeb75af78896399d5746557c5a41840044a8;hpb=c88cb7a75e7caf1d67466cfa107981d95115fa0c;p=bookmarks_db.git diff --git a/storage.py b/storage.py index a71cdeb..84c8dd5 100644 --- a/storage.py +++ b/storage.py @@ -5,7 +5,7 @@ This file is a part of Bookmarks database and Internet robot. """ __author__ = "Oleg Broytman " -__copyright__ = "Copyright (C) 1997-2017 PhiloSoft Design" +__copyright__ = "Copyright (C) 1997-2023 PhiloSoft Design" __license__ = "GNU GPL" __all__ = ['import_storage', 'storage'] @@ -14,12 +14,16 @@ __all__ = ['import_storage', 'storage'] from os import environ from bkmk_objects import parse_params, set_params -storage_name, storage_params = parse_params(environ.get("BKMK_STORAGE", "pickle")) +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)