diff --git a/package.v2.json b/package.v2.json index eb5398b..ccb6fb1 100644 --- a/package.v2.json +++ b/package.v2.json @@ -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": "修复了一些细节问题", diff --git a/plugins.v2/brushflow/__init__.py b/plugins.v2/brushflow/__init__.py index 8926a03..e5e7f4a 100644 --- a/plugins.v2/brushflow/__init__.py +++ b/plugins.v2/brushflow/__init__.py @@ -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: