MoviePilot-Plugins自适应片头片尾跳过功能配置问题解析
MoviePilot-Plugins MoviePilot非官方插件库 项目地址: https://gitcode.com/gh_mirrors/movi/MoviePilot-Plugins
在MoviePilot-Plugins项目的自适应片头片尾跳过功能(adaptiveintroskip)使用过程中,用户反馈遇到了路径关键词过滤配置不生效的问题。本文将深入分析该问题的技术细节和解决方案。
问题现象
用户希望实现以下配置效果:
- 对包含"动漫"或"剧集"关键词的媒体路径启用片头片尾标记
- 对包含"电影"关键词的媒体路径禁用该功能
但实际运行时,日志显示系统错误地将动漫路径判定为不包含关键词:
不包含任何关键词 动漫,剧集 不标记片头片尾
技术分析
通过查看相关代码,发现问题出在路径关键词判断逻辑上。核心判断函数如下:
def include_keyword(path: str, keywords: str) -> dict:
keyword_list: list = keywords.split(',')
flag = False
msg = ""
for keyword in keyword_list:
if keyword in path:
flag = True
msg = keyword
break
if flag:
return {'ret': True, 'msg': msg}
else:
return {'ret': False, 'msg': ''}
该函数设计存在两个潜在问题:
- 当include_keyword返回False时,表示路径不包含任何关键词,这与用户期望的"包含关键词才处理"逻辑相反
- 函数返回值结构中的'ret'字段含义不够直观,容易造成理解偏差
解决方案
开发者通过以下修改解决了该问题:
- 修正了include_keyword函数的逻辑判断方向
- 优化了返回值结构,使含义更加明确
- 添加了更详细的日志输出,方便问题排查
修正后的判断逻辑更加清晰:
- 包含关键词:返回True
- 不包含关键词:返回False
- 排除关键词:单独处理
最佳实践建议
对于类似功能配置,建议用户:
- 先测试单个关键词的匹配效果
- 逐步添加多个关键词组合
- 关注日志输出的详细匹配信息
- 对于中文路径,确保编码处理正确
该问题的解决体现了MoviePilot-Plugins项目对用户体验的重视,开发者通过快速响应和代码优化,提升了插件的稳定性和易用性。
MoviePilot-Plugins MoviePilot非官方插件库 项目地址: https://gitcode.com/gh_mirrors/movi/MoviePilot-Plugins
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考