diff options
Diffstat (limited to 'gallery_dl/cache.py')
| -rw-r--r-- | gallery_dl/cache.py | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/gallery_dl/cache.py b/gallery_dl/cache.py index 7a49b61..923ed32 100644 --- a/gallery_dl/cache.py +++ b/gallery_dl/cache.py @@ -211,13 +211,18 @@ def _path(): return os.path.join(cachedir, "cache.sqlite3") -try: - dbfile = _path() +def _init(): + try: + dbfile = _path() + + # restrict access permissions for new db files + os.close(os.open(dbfile, os.O_CREAT | os.O_RDONLY, 0o600)) + + DatabaseCacheDecorator.db = sqlite3.connect( + dbfile, timeout=60, check_same_thread=False) + except (OSError, TypeError, sqlite3.OperationalError): + global cache + cache = memcache - # restrict access permissions for new db files - os.close(os.open(dbfile, os.O_CREAT | os.O_RDONLY, 0o600)) - DatabaseCacheDecorator.db = sqlite3.connect( - dbfile, timeout=60, check_same_thread=False) -except (OSError, TypeError, sqlite3.OperationalError): - cache = memcache # noqa: F811 +_init() |
