优化效率

This commit is contained in:
douboer
2025-08-12 15:05:29 +08:00
parent 3eaaf8ad2b
commit e55178e316
67 changed files with 19174 additions and 46 deletions

View File

@@ -49,7 +49,7 @@ booksnote = {
- 通过 `get_annotations` 解析 SQLite 笔记数据库,获取所有笔记。
- 通过 `parse_books_plist` 解析书籍元数据,获取书名、路径等信息。
- 遍历每本书的所有笔记,结合 OPF、NCX 文件和 HTML 文件,定位章节名。
- 遍历每本书的所有笔记结合OPF、NCX文件和HTML 文件,定位章节名。
- 若无法通过目录文件定位章节,则尝试通过笔记选中文本在 HTML 文件中查找章节,否则标记为“未找到章节”。
### 4.3 交互式选择书籍
@@ -130,6 +130,7 @@ answer = inquirer.fuzzy(
---
## 9. 目录结构
- `data/`:存放同步下来的数据库和 plist 文件
@@ -138,6 +139,17 @@ answer = inquirer.fuzzy(
---
### 9.1 主要代码文件说明
- `exportbooknotes.py`:主程序,负责数据同步、交互式选择、笔记导出等全部流程。
- `annotationdata.py`:负责从 iBooks 的 SQLite 数据库中解析和获取笔记数据。
- `booklist_parse.py`:负责解析 Books.plist获取书籍元数据如书名、路径等
- `opf_parse.py`:负责解析 epub 的 OPF 文件,获取章节与文件映射关系。
- `toc_parse.py`:负责解析 NCX 目录文件,章节定位,以及辅助章节查找。
- `backup/booksnote.py`:备份或历史版本的笔记处理脚本。
---
## 10. 扩展与维护建议
- 可扩展支持多本书批量导出