github hect0x7/JMComic-Crawler-Python v2.7.7

4 hours ago

Summary

本次更新新增签到及打卡日历接口,为本子详情增加收藏与点赞状态,修复 HTML 登录结果校验。引入插件依赖声明、依赖策略,并完善收藏夹导出插件的失败重试与汇总提示,新增
Calibre metadata 插件。

Added

每日签到

功能 说明
get_daily / daily_checkin HTML/API 客户端支持获取每日签到信息与打卡日历、执行每日签到,未提供 daily_id 时自动获取。
JmDailyCheckinResp 双端统一返回标准打卡状态(code=0 签到成功,code=1 今日重复打卡,透传服务端 msg),其余失败直接抛异常。

实体字段

字段 说明
JmAlbumDetail.is_favorite bool,HTML 网页端与 API 移动端双端识别本子收藏状态。
JmAlbumDetail.liked bool,HTML 网页端与 API 移动端双端识别本子点赞/喜欢状态。

插件系统

功能 说明
plugin_dependencies 声明 插件基类新增 plugin_dependencies 类属性声明运行时依赖,并提供 required_dependencies_for(kwargs) 钩子按配置动态扩展(如 zip 按加密方式追加 pyzipper/py7zrimg2pdf 启用加密时追加 pikepdf)。
dependencies_strategy 配置 新增 plugins.dependencies_strategy,支持三种策略:failed-fast(默认,缺失即报错并给出安装指引)、auto-install(自动 pip 安装)、ignore-only-log(仅警告不阻断)。
[plugins] extras pyproject.toml 新增 extras,pip install jmcomic[plugins] 一次性安装全部插件可选依赖(img2pdfpikepdfpsutilpy7zrpyzipperrichbrowser_cookie3)。
已有插件依赖补齐 usage_logdownload_progressauto_set_browser_cookies 等已有插件补齐 plugin_dependencies 声明。
calibre_metadata 插件 after_album 阶段生成 Calibre 可识别的 metadata.opf,支持 include_cover 下载封面、fields 自定义元数据;OPF 生成由 jmcomic-calibre 提供。impl by @yifenliwu

Changed

变更点 说明
zip 插件 encrypt 校验 新增参数类型校验,非法标量(如 encrypt: enabled)在初始化阶段即拦截并给出清晰报错,不再等到运行时抛出 AttributeError
HTML 登录接口返回值更新 POST /login 密码错误时 HTTP 200 误判为成功,增加 status == 1 严格校验并提取错误信息。
API page_count / pub_date 字段适配最新返回值 page_count 正确映射为全本总图片数(total_photos),pub_date 格式化为发布日期。
PhotoConcurrentFetcherProxy 代理委托 补齐 __getattr__ 委托,修复底层客户端方法丢失的问题。

Don't miss a new JMComic-Crawler-Python release

NewReleases is sending notifications on new releases.