43 lines
945 B
Python
43 lines
945 B
Python
from contextlib import contextmanager
|
|
from pathlib import Path
|
|
|
|
|
|
def disable_cachew():
|
|
try:
|
|
import cachew
|
|
except ImportError:
|
|
# nothing to disable
|
|
return
|
|
|
|
from cachew import settings
|
|
settings.ENABLE = False
|
|
|
|
|
|
@contextmanager
|
|
def disabled_cachew():
|
|
try:
|
|
import cachew
|
|
except ImportError:
|
|
# nothing to disable
|
|
yield
|
|
return
|
|
from cachew.extra import disabled_cachew
|
|
with disabled_cachew():
|
|
yield
|
|
|
|
|
|
def cache_dir() -> Path:
|
|
'''
|
|
Base directory for cachew.
|
|
To override, add to your config file:
|
|
class config:
|
|
cache_dir = '/your/custom/cache/path'
|
|
'''
|
|
from .core_config import config
|
|
cdir = config.cache_dir
|
|
if cdir is None:
|
|
# TODO handle this in core_config.py
|
|
# TODO fallback to default cachew dir instead? or appdirs cache
|
|
return Path('/var/tmp/cachew')
|
|
else:
|
|
return Path(cdir)
|