feat: get cheche dir paths
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
from ._cache import ensure_cache_dir, get_cache_path
|
||||
|
||||
__all__ = ["ensure_cache_dir", "get_cache_path"]
|
||||
@@ -0,0 +1,23 @@
|
||||
from pathlib import Path
|
||||
|
||||
from ..config import get_cache_dir, get_project_root
|
||||
|
||||
|
||||
def ensure_cache_dir() -> Path:
|
||||
env_cache_str = get_cache_dir()
|
||||
env_cache_path = Path(env_cache_str)
|
||||
if env_cache_path.is_absolute():
|
||||
cache_dir = env_cache_path
|
||||
else:
|
||||
project_root = get_project_root()
|
||||
cache_dir = (project_root / env_cache_path).resolve()
|
||||
if not cache_dir.exists():
|
||||
cache_dir.mkdir(parents=True, exist_ok=True)
|
||||
return cache_dir
|
||||
|
||||
|
||||
def get_cache_path(filename: str | None = None) -> Path:
|
||||
cache_dir = ensure_cache_dir()
|
||||
if filename is None:
|
||||
return cache_dir
|
||||
return cache_dir / filename
|
||||
Reference in New Issue
Block a user