Commit Graph
147 Commits
Author SHA1 Message Date
jxxghp c89066d96f refactor: route media source settings through runtime 2026-08-23 03:20:03 +08:00
jxxghp 5128ae9e1e refactor: 推进后端分层架构治理 2026-08-18 00:29:14 +08:00
jxxghp 4345fcfa22 refactor(chain): chain 与 module 仅经 run_module 契约互联,实现模块内容封闭
- mTorrent 字幕链接解析下沉为 IndexerModule.site_subtitle_links,subtitle 模块自行跳过 API 站点
- TMDB/MusicBrainz 识别缓存管理改为模块方法(tmdb_cache_*/music_cache_*)经 run_module 分发
- WechatClawBot 客户端查找/临时客户端/缓存迁移内聚为 wechatclawbot_* 模块方法,
  chain 移除 WechatClawBot 类与 ModuleManager 内省
- LISTENBRAINZ_* 常量迁至 schemas/types.py,模块与链层再导入保持兼容
- TMDbException 升为 schemas/exception.py 跨层契约,vendored 异常保持类身份一致
- 架构守护测试新增 test_chain_does_not_import_module_internals(共 18 项)
- 文档同步:chain->module 仅允许 run_module 分发,直接导入禁止
2026-08-16 05:25:28 +08:00
Aqr-K 8a11214a43 refactor(db): 修复异步连接池无界增长,并完成 SQLAlchemy 2.0 迁移与分层归位 (#6320) 2026-08-15 06:58:38 +08:00
jxxghp 369d7d6448 refactor: reorganize backend module boundaries 2026-08-14 19:53:33 +08:00
jxxghp 7b3444c366 refactor backend module architecture 2026-08-14 15:45:38 +08:00
Aqr-KandAqr-K a2e70b443d fix(monitor,transfer): 修复 FUSE 挂载无响应导致的监控冻死、整理链锁死与漏件 (#6276)
* wip(v3): 移植监控与整理韧性修复到 v3 基线

包含:监控看门狗隔离/挂载探测、整理队列持久化、文件系统子进程代理、
写入原子化。迁移重挂到 v3 链 8a4c7e1d2f90 -> 7f5c1d2e3a4b -> e3d9f4b7c806。
tmdb 相关测试尚未通过,待定位。

* fix(v3): 修正移植引入的 16 项测试失败

- poller.py:合并时我方保留的行仍用旧变量名 merged_snapshot,而 v3 已统一
  改名为 current_snapshot,导致 NameError 被外层 except 吞掉、快照从未保存
- smb.py:采纳 f-string 拆分写法,恢复 Python 3.11 可解析
- dispatcher 测试:历史查重由 _should_skip_by_history 统一承担,mock 点随之调整
- tmdb 缓存测试:补充 v3 新增的 media_source/media_id 字段
- tmdb 重试测试:为 fake 补充 match_multi/async_match_multi

尚余 3 项与 v3 识别流程的连接失败处理有关,待单独判断。

* fix(v3): 测试适配 v3 的 media_source/media_id 重构

v3 将媒体标识从 tmdbid 统一重构为 media_source + media_id,recognize_media
的 tmdbid 参数已被 **kwargs 静默吞掉——传了也不生效,流程会误降级到名称搜索。
tmdb 重试用例改用新参数后恢复正确路径。

同时修正 fake 的 match_multi 语义:真实实现(tmdbapi.match_multi)吞掉所有
异常并返回 None,连接失败与「未找到」在该路径上本就不可区分,fake 需保持一致。

至此移植引入的 19 项失败全部清零。

---------

Co-authored-by: Aqr-K <Aqr-K@users.noreply.github.com>
2026-08-13 08:19:54 +08:00
jxxghp ca32922a7f refactor(media): unify media identity and chain responsibilities 2026-08-12 18:31:09 +08:00
jxxghp 8bf2f601a6 refactor(media): unify source identity and music browsing 2026-08-12 12:56:40 +08:00
jxxghp 3f1b0cdb05 feat(music): 支持多源识别与元数据刮削 2026-08-11 23:34:00 +08:00
jxxghp d7cf853bc8 fix(search): 支持单次搜索启用多个媒体数据源,合并显示所有源结果 (#6270)
- 新增 is_media_source_enabled/is_media_source_selected,请求级 source 支持逗号分隔多数据源,缺省回退全局 SEARCH_SOURCE 配置
- 四个媒体模块的搜索/人物/合集方法统一接入多源判断
- 补充多数据源搜索相关测试
2026-08-11 21:06:52 +08:00
InfinityPacer 197a09b2a4 fix(dashboard): distinguish empty media results (#6187) 2026-07-25 14:24:25 +08:00
jxxghp fb32c59713 feat: add AniList rankings and discovery 2026-07-22 12:53:58 +08:00
jxxghp e3f80af74f feat: expand metadata sources and media server sync (#6129) 2026-07-21 11:34:18 +08:00
InfinityPacer 5588e37c6d fix: preserve season zero semantics (#6150) 2026-07-20 06:55:23 +08:00
InfinityPacer 893269f8c1 fix(modules): serialize configuration reload lifecycle (#6122) 2026-07-15 17:28:49 +08:00
jxxghp 00fc8b2f53 chore: update text processing dependencies 2026-05-23 12:18:59 +08:00
jxxghp 29dab5a312 fix: improve media image scraping 2026-05-19 10:48:36 +08:00
jxxghp c857ae3e14 fix(tmdb): remove fallback to TMDB website scraping when API search fails 2026-05-17 19:46:50 +08:00
jxxghp 2831eecbeb perf: optimize media recognition internals 2026-05-15 13:37:36 +08:00
jxxghp 94d7e4385e fix: update shared recognize cache flow 2026-05-08 21:21:01 +08:00
DDSRemandClaude Opus 4.6 1acf78342c feat: tmdbid优先识别,同ID电影/电视剧通过元数据自动消歧
当名称中包含 {tmdbid=xxx} 时,优先使用tmdbid直接查询TMDB,不再回退到标题搜索。
当同一tmdbid同时存在电影和电视剧时,通过标题、年份、类型等元数据自动消歧。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 06:45:17 +08:00
CHANTXU64 4e74d32882 Fix: TMDB 剧集详情页不显示第 0 季(特别篇) #5444 2026-02-02 10:28:22 +08:00
copilot-swe-agent[bot]andjxxghp 27756a53db Implement proper architecture: module->chain->API with single CategoryHelper
Co-authored-by: jxxghp <51039935+jxxghp@users.noreply.github.com>
2026-01-26 04:07:56 +00:00
景大侠 c6cb4c8479 统一构造tmdb图片网址 2026-01-12 09:41:25 +08:00
景大侠 357db334cd 修复 自建TMDB服无法通过健康检测
携带UA以避免被反爬虫脚本过滤
2025-12-30 22:13:43 +08:00
Attente ca5ec8af0f feat(config): 优化配置变更事件处理机制 2025-11-27 23:17:34 +08:00
jxxghp d1d7b8ce55 更新 __init__.py 2025-11-27 22:03:20 +08:00
Attente eb2b34d71c feat(themoviedb): 添加对 ConfigChanged 事件的监听支持
- 调整 username 字段类型以兼容整数形式
2025-11-26 20:58:58 +08:00
jxxghp e90359eb08 fix douban 2025-08-23 15:56:30 +08:00
jxxghp 210813367f fix #4694 2025-08-04 20:50:06 +08:00
jxxghp 97817cd808 fix tmdb async 2025-08-01 12:05:08 +08:00
jxxghp a0e4b4a56e feat:媒体查询协程处理 2025-07-31 15:24:50 +08:00
jxxghp dee1212a76 feat:推荐使用异步API 2025-07-31 09:50:49 +08:00
jxxghp 423c9af786 为TheMovieDb模块添加异步支持(part 1) 2025-07-30 22:28:12 +08:00
jxxghp 13f9ea8be4 v2.5.3 2025-06-05 20:28:43 +08:00
jxxghp 4b88ec6460 feat:单独设置刮削图片语言 #4245 2025-05-10 20:43:00 +08:00
monster-fire 0bd37da8c7 Update __init__.py 添加空值检查 2025-04-28 18:46:48 +08:00
jxxghp f1aa64d191 fix episodes group 2025-04-04 12:17:42 +08:00
jxxghp 347262538f fix episodes group 2025-04-04 08:59:12 +08:00
jxxghp 82510d60ca 更新 __init__.py 2025-04-03 22:48:29 +08:00
jxxghp 078b60cc1e feat:支持指定剧集组识别和刮削 2025-04-03 18:35:02 +08:00
jxxghp 21e120a4f8 refactor:减少一次接口查询 2025-04-03 10:43:31 +08:00
jxxghp f9b0db623d fix cython type error 2025-03-23 21:39:37 +08:00
jxxghp 5269b4bc82 fix #3914
feat:搜索支持指定站点
2025-02-20 13:03:12 +08:00
yangyux 9646745181 fix: mtype为空且tmdbid在movie和tv中都存在时的识别错误问题 2025-02-19 17:27:38 +08:00
jxxghp c589f42181 fix 2025-01-29 19:02:40 +08:00
jxxghp 2ed9cfcc9a fix api 2025-01-27 17:08:22 +08:00
jxxghp 7d13e43c6f fix apis 2025-01-27 11:09:05 +08:00
jxxghp adeb5361ab feat:支持搜索系列合集 2025-01-16 17:51:47 +08:00