From 8bd590e1ea6f5538ffb4c7343b99834324a8c58f Mon Sep 17 00:00:00 2001 From: noone Date: Mon, 29 Dec 2025 17:18:44 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(mediaservermsg):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=A4=9A=E9=9B=86=E5=9B=BE=E7=89=87=E8=8E=B7=E5=8F=96=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E5=8F=8Aemby=E6=B5=8B=E8=AF=95=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复多集时有概率图片获取失败的问题 - 修复emby测试通知类型接收失败的问题 - 更新版本号至1.8.2 - 将webhook事件映射中的system.notificationtest改为system.webhooktest --- package.v2.json | 3 ++- plugins.v2/mediaservermsg/__init__.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package.v2.json b/package.v2.json index 47437a1..eb5398b 100644 --- a/package.v2.json +++ b/package.v2.json @@ -93,11 +93,12 @@ "name": "媒体库服务器通知", "description": "发送Emby/Jellyfin/Plex服务器的播放、入库等通知消息。", "labels": "消息通知,媒体库", - "version": "1.8.1", + "version": "1.8.2", "icon": "mediaplay.png", "author": "jxxghp", "level": 1, "history": { + "v1.8.2": "修复多集时有概率图片获取失败的问题;修复emby测试通知类型接收失败的问题", "v1.8.1": "修复单集剧情信息有概率获取失败的问题", "v1.8": "当整理路径中没有tmdbid时,会尝试从媒体服务器中获取", "v1.7.1": "未获取到tmdb信息则按原有逻辑发送;电影显示海报", diff --git a/plugins.v2/mediaservermsg/__init__.py b/plugins.v2/mediaservermsg/__init__.py index d0af719..3df2488 100644 --- a/plugins.v2/mediaservermsg/__init__.py +++ b/plugins.v2/mediaservermsg/__init__.py @@ -65,7 +65,7 @@ class MediaServerMsg(_PluginBase): # Webhook事件映射配置 _webhook_actions = { "library.new": "新入库", - "system.notificationtest": "测试", + "system.webhooktest": "测试", "playback.start": "开始播放", "playback.stop": "停止播放", "user.authenticated": "登录成功", From aa89750d1ff78a73673b0f0762baccc7bc07b002 Mon Sep 17 00:00:00 2001 From: noone Date: Mon, 29 Dec 2025 17:35:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(brushflow):=20=E6=8F=90=E5=8D=87?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E8=A7=84=E5=88=99=E6=97=B6=E7=9A=84=E5=81=A5?= =?UTF-8?q?=E5=A3=AE=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在包含规则和排除规则中添加正则表达式错误处理 - 防止因正则表达式错误导致的匹配失败 - 添加对torrent标题和描述的空值检查 - 修复RSS支持配置选项的处理逻辑 - 更新插件版本到4.3.5 --- package.v2.json | 3 ++- plugins.v2/brushflow/__init__.py | 37 +++++++++++++++++++++++--------- 2 files changed, 29 insertions(+), 11 deletions(-) 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: