X-Git-Url: https://git.phdru.name/?p=bookmarks_db.git;a=blobdiff_plain;f=storage.py;h=a71cdeb75af78896399d5746557c5a41840044a8;hp=7b6ca06ed31328b93425540718bda75716646e93;hb=HEAD;hpb=ba13205bb60a7f770bae98aeadcc6afe3dc705ea diff --git a/storage.py b/storage.py index 7b6ca06..75b424d 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,17 @@ __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)