(value: Any, *, max_len: int = 120)
| 293 | |
| 294 | |
| 295 | def _safe_filename(value: Any, *, max_len: int = 120) -> str: |
| 296 | text = _clean_text(value) |
| 297 | text = re.sub(r"[\\/:*?\"<>|]+", "-", text) |
| 298 | text = re.sub(r"\s+", " ", text).strip(" .-_") |
| 299 | text = re.sub(r"[-_ ]{2,}", "-", text) |
| 300 | return (text or "paper")[:max_len].strip(" .-_") or "paper" |
| 301 | |
| 302 | |
| 303 | def _paper_file_stem(paper: Dict[str, Any]) -> str: |
no test coverage detected