feat(utils): shared parse_chapter_range + sanitize_filename Used by CLI, web download handler, and background task worker.
1 files changed, 20 insertions(+), 0 deletions(-) A src/kobo_manga/utils.py
A src/kobo_manga/utils.py => src/kobo_manga/utils.py +20 -0
@@ 0,0 1,20 @@ """共享工具函数""" 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