Skip to content

[功能请求]: 通知模板中增加 total_episodes 变量,显示当前季总集数 #6008

Description

@ccwssy

需求背景

入库通知模板中,电视剧整理完成后无法显示当前季的总集数。用户自定义通知模板时希望展示类似"总集:6集"的信息,但目前后端模板变量中缺少该字段。

使用场景

  1. 用户配置入库通知模板,希望在电视剧整理通知中显示当前季的总集数
  2. 例如《9号秘事》S09 共 6 集,通知中显示"总集:6"
  3. 目前 file_count 变量仅表示本次整理的文件数(单文件整理时为 1),无法反映该季实际总集数

期望能力

TemplateContextBuilder._add_episode_details() 方法中,将 episodes 参数(即 __episodes_info__)的长度作为模板变量 total_episodes 注入上下文,供通知模板使用。

当前状态

  • 后端 message.py_add_episode_details 方法已接收 episodes: Optional[List[TmdbEpisode]] 参数
  • 该参数通过 __episodes_info__ 注入上下文,但未计算总集数
  • 通知模板中无法直接对 __episodes_info__ 取长度(Jinja2 模板中无法调用 len()
  • 已在本地添加一行 "total_episodes": len(episodes) if episodes else 0 验证可行

建议修改

app/helper/message.py_add_episode_details 方法中,meta_info 字典末尾添加:

# 当前季总集数
"total_episodes": len(episodes) if episodes else 0,

补充说明

仅添加变量还不够,调用方 send_transfer_messageapp/chain/transfer.py)也需要传入 episodes_info 参数,否则 total_episodes 始终为 0。建议同步修改 send_transfer_message,在电视剧入库时通过 TmdbChain().tmdb_episodes() 获取当前季的剧集信息并传入。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions