Files
guides/backend/paths.py
2026-06-03 22:05:20 +02:00

26 lines
759 B
Python

from pathlib import Path
from config import STORAGE_DIR, PROJECTS_DIR, PROJECTS_CACHE_DIR
def safe_basename(topic: str, format_name: str) -> str:
clean = topic.replace("/", "_").replace("\x00", "")
return f"{clean} - {format_name}"
def final_paths(topic: str, format_name: str) -> tuple[Path, Path]:
base = safe_basename(topic, format_name)
return STORAGE_DIR / "html" / f"{base}.html", STORAGE_DIR / "pdf" / f"{base}.pdf"
def temp_paths(guide_id: str) -> tuple[Path, Path]:
return STORAGE_DIR / "html" / f"{guide_id}.tmp.html", STORAGE_DIR / "pdf" / f"{guide_id}.tmp.pdf"
def project_dir(name: str) -> Path:
return PROJECTS_DIR / name
def project_cache_path(name: str) -> Path:
return PROJECTS_CACHE_DIR / f"{name}.md"