cache.py 495 B

1234567891011121314
  1. import os
  2. import urllib.parse
  3. DEFAULT_CACHE_DIR = os.getenv("CACHE_ROOT", os.path.expanduser("~/.commacache"))
  4. def cache_path_for_file_path(fn, cache_dir=DEFAULT_CACHE_DIR):
  5. dir_ = os.path.join(cache_dir, "local")
  6. os.makedirs(dir_, exist_ok=True)
  7. fn_parsed = urllib.parse.urlparse(fn)
  8. if fn_parsed.scheme == '':
  9. cache_fn = os.path.abspath(fn).replace("/", "_")
  10. else:
  11. cache_fn = f'{fn_parsed.hostname}_{fn_parsed.path.replace("/", "_")}'
  12. return os.path.join(dir_, cache_fn)