fix(brushflow): 提升匹配规则时的健壮性

- 在包含规则和排除规则中添加正则表达式错误处理
- 防止因正则表达式错误导致的匹配失败
- 添加对torrent标题和描述的空值检查
- 修复RSS支持配置选项的处理逻辑
- 更新插件版本到4.3.5
This commit is contained in:
noone
2025-12-29 17:35:12 +08:00
parent 8bd590e1ea
commit aa89750d1f
2 changed files with 29 additions and 11 deletions

View File

@@ -24,11 +24,12 @@
"name": "站点刷流",
"description": "自动托管刷流,将会提高对应站点的访问频率。",
"labels": "刷流,仪表板",
"version": "4.3.4",
"version": "4.3.5",
"icon": "brush.jpg",
"author": "jxxghp,InfinityPacer,Seed680",
"level": 2,
"history": {
"v4.3.5": "提升匹配规则时的健壮性",
"v4.3.4": "添加RSS支持配置选项",
"v4.3.2": "增加'删除促销结束的未完成下载'功能",
"v4.3.1": "修复了一些细节问题",

View File

@@ -197,7 +197,6 @@ class BrushConfig:
"site_hr_active": true,
"site_skip_tips": true,
"rss_support": true
"
}]"""
return desc + config
@@ -263,7 +262,7 @@ class BrushFlow(_PluginBase):
# 插件图标
plugin_icon = "brush.jpg"
# 插件版本
plugin_version = "4.3.4"
plugin_version = "4.3.5"
# 插件作者
plugin_author = "jxxghp,InfinityPacer,Seed680"
# 作者主页
@@ -2247,16 +2246,34 @@ class BrushFlow(_PluginBase):
return False, "存在H&R"
# 包含规则
if brush_config.include and not (
re.search(brush_config.include, torrent.title, re.I) or re.search(brush_config.include,
torrent.description, re.I)):
return False, "不符合包含规则"
if brush_config.include:
try:
include_match = False
if torrent.title and re.search(brush_config.include, torrent.title, re.I):
include_match = True
elif torrent.description and re.search(brush_config.include, torrent.description, re.I):
include_match = True
if not include_match:
return False, "不符合包含规则"
except re.error:
logger.warning(f"包含规则正则表达式错误: {brush_config.include}")
return False, "包含规则正则表达式错误"
# 排除规则
if brush_config.exclude and (
re.search(brush_config.exclude, torrent.title, re.I) or re.search(brush_config.exclude,
torrent.description, re.I)):
return False, "符合排除规则"
if brush_config.exclude:
try:
exclude_match = False
if torrent.title and re.search(brush_config.exclude, torrent.title, re.I):
exclude_match = True
elif torrent.description and re.search(brush_config.exclude, torrent.description, re.I):
exclude_match = True
if exclude_match:
return False, "符合排除规则"
except re.error:
logger.warning(f"排除规则正则表达式错误: {brush_config.exclude}")
return False, "排除规则正则表达式错误"
# 种子大小GB
if brush_config.size: