diff options
Diffstat (limited to 'lib/utils/cache.py')
| -rw-r--r-- | lib/utils/cache.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/utils/cache.py b/lib/utils/cache.py index 76ce2416..18f993e9 100644 --- a/lib/utils/cache.py +++ b/lib/utils/cache.py @@ -8,11 +8,12 @@ import os import pickle import sqlite3 -import platformdirs import diskcache from lib.utils.settings import global_settings +from .paths import get_user_dir + try: from functools import lru_cache except ImportError: @@ -31,16 +32,17 @@ def get_stitch_plan_cache(): global __stitch_plan_cache if __stitch_plan_cache is None: - cache_dir = os.path.join(platformdirs.user_config_dir('inkstitch'), 'cache', 'stitch_plan') + cache_dir = get_user_dir('cache') + stitch_plan_dir = os.path.join(cache_dir, 'stitch_plan') size_limit = global_settings['cache_size'] * 1024 * 1024 try: - __stitch_plan_cache = diskcache.Cache(cache_dir, size=size_limit) + __stitch_plan_cache = diskcache.Cache(stitch_plan_dir, size=size_limit) except (sqlite3.DatabaseError, sqlite3.OperationalError): # reset cache database file if it couldn't parse correctly - cache_file = os.path.join(platformdirs.user_config_dir('inkstitch'), 'cache', 'stitch_plan', 'cache.db') + cache_file = os.path.join(stitch_plan_dir, 'cache.db') if os.path.exists(cache_file): os.remove(cache_file) - __stitch_plan_cache = diskcache.Cache(cache_dir, size=size_limit) + __stitch_plan_cache = diskcache.Cache(stitch_plan_dir, size=size_limit) __stitch_plan_cache.size_limit = size_limit # reset cache if warnings appear within the files |
