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