X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=storage.py;h=75b424dc31a553638d9daebf80ee3a3660f78825;hb=00ddc855d130a8ce37f1efcd00ca225b656fbfce;hp=704fc7f124ed74a527d3a482b49f05957ec39a20;hpb=71712390f4edb041609ff7bc9272d12a5c1a9b1d;p=bookmarks_db.git diff --git a/storage.py b/storage.py index 704fc7f..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. + """ __author__ = "Oleg Broytman " -__copyright__ = "Copyright (C) 1997-2012 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)