INNER CODE UNIT · Python
slugify
Dsadd4/AgentFigureGallery · agentfiguregallery/server.py:32
def slugify(value: str, fallback: str = "reference_session") -> str:
text = re.sub(r"[^a-z0-9]+", "_", value.lower()).strip("_")
return text[:80] or fallback
def read_json(path: Path, default: dict | None = None) -> dict:
if not path.exists():
if default is not None:
return default
raise FileNotFoundError(path)
return json.loads(path.read_text(encoding="utf-8"))
def write_json(path: Path, payload: dict) -> None:
path.parent.mkdir(parents=True, exist_ok=True)
path.write_text(json.dumps(payload, indent=2, ensure_ascii=True) + "\n", encoding="utf-8")