import re from pathlib import Path from config import STORAGE_DIR, PROJECTS_DIR def _safe(name: str) -> str: return name.replace("/", "_").replace("\x00", "") def guide_content_path(topic: str, format_name: str) -> Path: return STORAGE_DIR / "guides" / f"{_safe(topic)} - {format_name}.json" def bausteine_path(topic: str) -> Path: return STORAGE_DIR / "bausteine" / f"{_safe(topic)}.md" def bausteine_topics() -> list[str]: """Themen, für die eine finale Baustein-Datei existiert (ohne Zwischendateien).""" bdir = STORAGE_DIR / "bausteine" if not bdir.is_dir(): return [] return [ p.stem for p in bdir.glob("*.md") if not re.search(r"\.(recherche-\d+|auswahl(-\d+|-check)?|einordnung-\d+|final-check|sortierung)$", p.stem) ] def project_dir(name: str) -> Path: return PROJECTS_DIR / name