feat(subscribe): expose cached site candidates (#6062)

This commit is contained in:
InfinityPacer
2026-07-06 06:54:19 +08:00
committed by GitHub
parent 36d4434596
commit 2f0c1252da
5 changed files with 1080 additions and 50 deletions
+6 -5
View File
@@ -570,7 +570,8 @@ class SubscribeEpisodesRefreshEventData(ChainEventData):
"""
SubscribeEpisodesRefresh 事件的数据模型
主程序在推算订阅某季总集数时发出,携带按 TMDB 季集数算出的默认值,外部可据自身策略覆盖total_episode(如待定集数)
主程序在推算订阅某季总集数时发出,携带主程序本次识别到的 TMDB 当前季总集数;
外部可据自身策略向上覆盖 total_episode(如待定集数),低于 current_total_episode 的覆盖值会被主程序钳制。
Attributes:
# 输入参数
@@ -578,13 +579,13 @@ class SubscribeEpisodesRefreshEventData(ChainEventData):
doubanid (Optional[str]): 豆瓣 ID
season (Optional[int]): 季号
mediainfo (Any): 媒体信息
current_total_episode (int): 主程序按 TMDB 季集数算出的默认总集数
current_total_episode (int): 主程序本次识别到的 TMDB 当前季总集数
subscribe_id (Optional[int]): 订阅 ID;订阅创建场景下尚未入库,为空
scene (Optional[str]): 触发场景,create/refresh/precheck
# 输出参数
updated (bool): 外部是否覆盖了总集数,默认 False
total_episode (Optional[int]): 覆盖后的总集数,仅在 updated=True 时生效
total_episode (Optional[int]): 覆盖后的总集数,仅在 updated=True 时生效;低于 current_total_episode 时由主程序钳制
source (str): 覆盖来源
reason (str): 覆盖原因
"""
@@ -594,13 +595,13 @@ class SubscribeEpisodesRefreshEventData(ChainEventData):
doubanid: Optional[str] = Field(default=None, description="豆瓣 ID")
season: Optional[int] = Field(default=None, description="季号")
mediainfo: Any = Field(default=None, description="媒体信息")
current_total_episode: int = Field(default=0, description="按 TMDB 季集数算出的默认总集数")
current_total_episode: int = Field(default=0, description="主程序本次识别到的 TMDB 当前季总集数")
subscribe_id: Optional[int] = Field(default=None, description="订阅 ID;创建场景为空")
scene: Optional[str] = Field(default=None, description="触发场景:create/refresh/precheck")
# 输出参数
updated: bool = Field(default=False, description="外部是否覆盖了总集数")
total_episode: Optional[int] = Field(default=None, description="覆盖后的总集数")
total_episode: Optional[int] = Field(default=None, description="覆盖后的总集数;低于主程序本次识别到的 TMDB 当前季总集数时由主程序钳制")
source: str = Field(default="未知来源", description="覆盖来源")
reason: str = Field(default="", description="覆盖原因")