]> git.phdru.name Git - bookmarks_db.git/blob - storage.py
Style: Fix `flake8` E501 line too long
[bookmarks_db.git] / storage.py
1 """Thin wrapper for module Storage. Provides "default" storage
2
3 This file is a part of Bookmarks database and Internet robot.
4
5 """
6
7 __author__ = "Oleg Broytman <phd@phdru.name>"
8 __copyright__ = "Copyright (C) 1997-2023 PhiloSoft Design"
9 __license__ = "GNU GPL"
10
11 __all__ = ['import_storage', 'storage']
12
13
14 from os import environ
15 from bkmk_objects import parse_params, set_params
16
17 storage_name, storage_params = parse_params(
18     environ.get("BKMK_STORAGE", "pickle"))
19
20
21 def import_storage(storage_name):
22     ns = locals()
23     exec("from Storage import bkmk_st%s" % storage_name, globals(), ns)
24     exec("storage = bkmk_st%s.storage_%s" %
25          (storage_name, storage_name), globals(), ns)
26     return ns['storage']
27
28
29 storage = import_storage(storage_name)
30 set_params(storage, storage_params)