"""Common utility functions."""
from pathlib import Path
[docs]
def ensure_path_exists(path: str | Path) -> Path:
"""
Ensure a path exists, creating parent directories if needed.
Args:
path: Path to ensure exists
Returns:
Path object
"""
path_obj = Path(path)
path_obj.parent.mkdir(parents=True, exist_ok=True)
return path_obj
[docs]
def sanitize_filename(filename: str) -> str:
"""
Sanitize a filename by removing/replacing invalid characters.
Args:
filename: Original filename
Returns:
Sanitized filename
"""
import re
sanitized = re.sub(r'[<>:"/\\|?*]', "_", filename)
sanitized = sanitized.strip(". ")
return sanitized or "unnamed"