3 Commits

Author SHA1 Message Date
688933c228 fix: 移除 cleaner.py 顶层导入,完善 README 测试指引
- 移除 cleaner.py 中 beautifulsoup4 的顶层导入,改为完全依赖函数内动态导入
- 新增 README 快速开始章节,提供验证环境和基础测试命令
- 完善测试前置依赖说明,明确仅需 chardet 即可运行基础测试
- 更新所有测试命令,移除不必要的 --with beautifulsoup4
2026-03-10 11:08:51 +08:00
b80c635f07 refactor: 完善降级链的异常捕获机制
为所有 Reader 的 parser 循环添加 try-except 防护层,确保即使 parser
抛出意外异常,降级链也能继续尝试下一个 parser。

主要变更:
- 所有 Reader (DocxReader/PdfReader/XlsxReader/PptxReader/HtmlReader)
  的 parse 方法中添加防护层,捕获意外异常并标记为 [意外异常]
- cleaner.clean_html_content() 添加异常处理,返回 (content, error) 元组
- HtmlReader.parse() 更新 cleaner 调用方式,处理新的返回值格式
- BaseReader 添加详细的异常处理规范文档

设计原则:双层异常保护
- Parser 层:捕获预期的解析失败(库未安装、格式不支持)
- Reader 层:捕获意外的编程错误(NoneType、索引越界等)
2026-03-09 00:26:51 +08:00
15b63800a8 refactor: 将核心代码迁移到 scripts 目录
- 创建 scripts/ 目录作为核心代码根目录
- 移动 core/, readers/, utils/ 到 scripts/ 下
- 移动 config.py, lyxy_document_reader.py 到 scripts/
- 移动 encoding_detection.py 到 scripts/utils/
- 更新 pyproject.toml 中的入口点路径和 pytest 配置
- 更新所有内部导入语句为 scripts.* 模块
- 更新 README.md 目录结构说明
- 更新 openspec/config.yaml 添加目录结构说明
- 删除无用的 main.py

此变更使项目结构更清晰,便于区分核心代码与测试、文档等支撑文件。
2026-03-08 17:41:03 +08:00