fix(subscribe): prefer complete packs for initial TV downloads

This commit is contained in:
jxxghp
2026-10-13 21:16:22 +08:00
parent 48cffca3a1
commit 8cbba9916e
5 changed files with 136 additions and 19 deletions

View File

@@ -101,6 +101,12 @@ with patch.object(SomeModule, "fetch", new=AsyncMock(return_value=FAKE)):
## 种子下载重试回归
普通电视剧首次下载的整包优先回归见 `tests/test_subscribe_paged_search.py`:订阅没有下载记录,
且最新媒体库缺失全部目标集时,先收集所选搜索范围内的候选再尝试完整包;单页策略仍只查每个
来源的第一页。整包继续通过规则过滤、优先级门槛和种子文件完整覆盖校验,无可用整包时按集
回退。已有下载记录或媒体库已有目标集时沿用补集行为,提交前重新检查当前订阅;不会开启洗版
或写入洗版优先级。测试覆盖显式缺集列表、后页整包、不完整包和搜索期间进度变化,均隔离外部服务。
种子下载重试的离线边界见 `tests/test_torrent_download_retry.py`:普通 GET 在网络失败、
403/5xx、空响应或无法解析的响应后最多重试两次,退避为 1、2 秒。签名链接刷新、换票地址、
首次下载确认 POST 保持既有流程。HTTP 429 或 JSON `message` / `msg` 明确提示限流时,