"""共享工具函数"""
def sanitize_filename(name: str) -> str:
"""清理文件名中的非法字符。"""
return "".join(
c if c.isalnum() or c in " _-()()【】" else "_" for c in name
)
def parse_chapter_range(chapters: str) -> tuple[float, float]:
"""解析章节范围字符串。
支持格式: "1-10", "5", "0-2.5"
"""
if "-" in chapters:
parts = chapters.split("-", 1)
return float(parts[0]), float(parts[1])
num = float(chapters)
return num, num