'update'
This commit is contained in:
parent
227c7f806f
commit
71e9ffede1
5
TODO.md
5
TODO.md
|
@ -37,6 +37,8 @@
|
|||
- [ ] 年度 / 月度阅读统计图表空数据时的占位样式统一
|
||||
- [ ] 增加日志记录(AI 请求、封面解析耗时)
|
||||
- [ ] 国际化(中英切换)
|
||||
- [ ] 转化为iPAD APP,熟悉iOS APP上架等流程。
|
||||
- [ ] 前后端分离,后端云上部署,开放restful接口给前端调用。
|
||||
|
||||
## 3. 可选增强 (Nice to Have / Ideas)
|
||||
- [ ] 缓存封面缩略图,减少重复磁盘读取与缩放开销
|
||||
|
@ -54,6 +56,7 @@
|
|||
- [ ] 封面区域添加标题(“当前/下一本/再下一本”)并可隐藏
|
||||
- [ ] 支持拖放本地 epub/ibooks 包,临时解析显示
|
||||
- [ ] 界面字体可选择,config中配置
|
||||
- [ ] **提供书籍下载功能(我的600+的书籍可以分享,版权问题?),web版本**(最好单独申请域名,容易被封)
|
||||
|
||||
## 4. 技术债 (Tech Debt)
|
||||
- [ ] `ibook_export_app.py` 体积过大(UI/业务/AI/封面解析混杂)→ 拆分模块:`cover_finder.py` / `ai_review.py` / `ui_main.py`
|
||||
|
@ -81,3 +84,5 @@
|
|||
|
||||
---
|
||||
若需要我直接实现其中某一项,请告诉我对应条目。欢迎补充。
|
||||
|
||||
|
||||
|
|
Binary file not shown.
|
@ -15,7 +15,6 @@ from collections import defaultdict
|
|||
from annotationdata import get_annotations
|
||||
from opf_parse import parse_opf
|
||||
from toc_parse import parse_navpoints, find_label_path
|
||||
import os
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
def get_toc_tree(toc_path):
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from PyQt6.QtWidgets import QWidget, QLabel, QSizePolicy
|
||||
from PyQt6.QtWidgets import QWidget, QSizePolicy
|
||||
from PyQt6.QtGui import QPainter, QColor, QPen, QPainterPath, QLinearGradient
|
||||
from PyQt6.QtCore import Qt, QRectF, QPointF
|
||||
import math
|
||||
|
|
Binary file not shown.
BIN
data/Books.plist
BIN
data/Books.plist
Binary file not shown.
|
@ -1,13 +1,11 @@
|
|||
import sys
|
||||
import os
|
||||
import re
|
||||
from urllib.parse import unquote
|
||||
import datetime
|
||||
from PyQt6.QtWidgets import (
|
||||
QApplication, QWidget, QPushButton, QLabel, QListWidget,
|
||||
QFileDialog, QMessageBox, QLineEdit, QFormLayout, QDialog, QDialogButtonBox, QTextEdit, QHBoxLayout, QSizePolicy
|
||||
QApplication, QWidget, QLabel, QMessageBox, QLineEdit, QFormLayout, QDialog, QDialogButtonBox, QSizePolicy
|
||||
)
|
||||
from PyQt6.QtGui import QIcon, QPixmap
|
||||
from PyQt6.QtGui import QIcon
|
||||
from PyQt6.QtCore import QSettings, QSize, QByteArray
|
||||
from PyQt6 import uic
|
||||
import config
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
# --- IGNORE ---
|
||||
import sys, os, re, datetime, math
|
||||
from PyQt6.QtWidgets import (
|
||||
QApplication, QWidget, QLabel, QListWidget, QMessageBox, QLineEdit,
|
||||
QFormLayout, QDialog, QDialogButtonBox, QSizePolicy, QHBoxLayout
|
||||
QApplication, QWidget, QLabel, QMessageBox, QLineEdit,
|
||||
QFormLayout, QDialog, QDialogButtonBox, QSizePolicy
|
||||
)
|
||||
from PyQt6.QtGui import QIcon, QPixmap
|
||||
from PyQt6.QtCore import QSettings, QSize, QByteArray
|
||||
from PyQt6.QtGui import QIcon
|
||||
from PyQt6.QtCore import QSettings, QByteArray
|
||||
from PyQt6 import uic
|
||||
import config
|
||||
from exportbooknotes import BookNotesExporter
|
||||
|
|
Binary file not shown.
|
@ -1,24 +1,10 @@
|
|||
# iBooks 笔记导出工具依赖库
|
||||
# GUI 界面支持
|
||||
# iBooks 笔记导出 & GUI 工具依赖
|
||||
|
||||
PyQt6>=6.0.0
|
||||
|
||||
# Qt Designer 工具(用于编辑 .ui 文件和生成界面代码)
|
||||
PyQt6-tools>=6.0.0
|
||||
|
||||
# HTML/XML 解析
|
||||
beautifulsoup4>=4.9.0
|
||||
|
||||
# 命令行交互界面(用于 exportbooknotes.py)
|
||||
InquirerPy>=0.3.0
|
||||
|
||||
# 可视化:已改为使用原生 Qt(QPainter) 自绘, 不再依赖 matplotlib
|
||||
|
||||
# 以下为 Python 标准库,无需安装:
|
||||
# sqlite3 - 数据库支持
|
||||
# plistlib - plist 文件解析
|
||||
# collections - 数据结构
|
||||
# datetime - 日期时间处理
|
||||
# os - 系统操作
|
||||
# re - 正则表达式
|
||||
# shutil - 文件操作
|
||||
# sys - 系统相关
|
||||
requests>=2.31.0
|
||||
openai>=1.0.0
|
||||
Pillow>=10.0.0 # 可选:封面缩略图生成
|
||||
# matplotlib 已移除(自绘 charts),若需要旧版本图表可手动添加:matplotlib>=3.7.0
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
source ~/venv/bin/activate
|
||||
|
||||
python ibook_export_app.py &
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 312 KiB |
Binary file not shown.
Before Width: | Height: | Size: 858 KiB |
Loading…
Reference in New Issue