From 57df3559b4e67ea3af7a4ea3ea94d312e4683b99 Mon Sep 17 00:00:00 2001 From: thsrite Date: Wed, 6 Nov 2024 19:27:40 +0800 Subject: [PATCH] =?UTF-8?q?fix=20Emby=E5=85=83=E6=95=B0=E6=8D=AE=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=AE=9A=E4=B9=89=E5=BB=B6?= =?UTF-8?q?=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.v2.json | 3 ++- plugins.v2/embymetarefresh/__init__.py | 35 ++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/package.v2.json b/package.v2.json index cbac410..6c6f661 100644 --- a/package.v2.json +++ b/package.v2.json @@ -3,11 +3,12 @@ "name": "Emby元数据刷新", "description": "定时刷新Emby媒体库元数据,演职人员中文。", "labels": "Emby", - "version": "2.1.1", + "version": "2.1.2", "icon": "https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/icons/emby-icon.png", "author": "thsrite", "level": 1, "history": { + "v2.1.2": "增加自定义延迟", "v2.1.1": "优化刷新逻辑,过滤掉信息全的媒体", "v2.0.1": "获取tmdb图片时使用PROXY_HOST代理", "v2.0": "适配v2", diff --git a/plugins.v2/embymetarefresh/__init__.py b/plugins.v2/embymetarefresh/__init__.py index 666d52c..332bad1 100644 --- a/plugins.v2/embymetarefresh/__init__.py +++ b/plugins.v2/embymetarefresh/__init__.py @@ -36,7 +36,7 @@ class EmbyMetaRefresh(_PluginBase): # 插件图标 plugin_icon = "https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/icons/emby-icon.png" # 插件版本 - plugin_version = "2.1.1" + plugin_version = "2.1.2" # 插件作者 plugin_author = "thsrite" # 作者主页 @@ -62,6 +62,7 @@ class EmbyMetaRefresh(_PluginBase): _ReplaceAllImages = "true" _actor_path = None _mediaservers = None + _interval = None mediaserver_helper = None _EMBY_HOST = None _EMBY_USER = None @@ -85,6 +86,7 @@ class EmbyMetaRefresh(_PluginBase): self._ReplaceAllMetadata = config.get("ReplaceAllMetadata") or "true" self._ReplaceAllImages = config.get("ReplaceAllImages") or "true" self._mediaservers = config.get("mediaservers") or [] + self._interval = config.get("interval") or 0 # 加载模块 if self._enabled or self._onlyonce: @@ -174,6 +176,9 @@ class EmbyMetaRefresh(_PluginBase): # 刷新媒体库 for transferinfo in transferhistorys: self.__refresh_emby(transferinfo, emby) + if self._interval: + logger.info(f"等待 {self._interval} 秒后继续刷新") + time.sleep(self._interval) else: latest = self.__get_latest_media() if not latest: @@ -194,6 +199,9 @@ class EmbyMetaRefresh(_PluginBase): logger.info( f"开始刷新媒体库元数据,最新媒体:{'电视剧' if str(item.get('Type')) == 'Episode' else '电影'} {'%s S%02dE%02d %s' % (item.get('SeriesName'), item.get('ParentIndexNumber'), item.get('IndexNumber'), item.get('Name')) if str(item.get('Type')) == 'Episode' else item.get('Name')} {item.get('Id')}") self.__refresh_emby_library_by_id(item.get("Id")) + if self._interval: + logger.info(f"等待 {self._interval} 秒后继续刷新") + time.sleep(self._interval) else: logger.info( f"最新媒体:{'电视剧' if str(item.get('Type')) == 'Episode' else '电影'} {'%s S%02dE%02d %s' % (item.get('SeriesName'), item.get('ParentIndexNumber'), item.get('IndexNumber'), item.get('Name')) if str(item.get('Type')) == 'Episode' else item.get('Name')} {item.get('Id')} 元数据完整,跳过处理") @@ -225,8 +233,6 @@ class EmbyMetaRefresh(_PluginBase): 'actors': peoples or item_actors } - time.sleep(5) - # 处理剧集 for key, value in handle_items.items(): if value: @@ -1031,7 +1037,25 @@ class EmbyMetaRefresh(_PluginBase): { 'component': 'VCol', 'props': { - 'cols': 12 + 'cols': 12, + 'md': 4 + }, + 'content': [ + { + 'component': 'VTextField', + 'props': { + 'model': 'interval', + 'label': '刷新间隔(秒)', + 'placeholder': '留空默认0秒' + } + } + ] + }, + { + 'component': 'VCol', + 'props': { + 'cols': 12, + 'md': 4 }, 'content': [ { @@ -1084,7 +1108,8 @@ class EmbyMetaRefresh(_PluginBase): "refresh_type": "历史记录", "actor_path": "", "mediaservers": [], - "num": 5 + "num": 5, + "interval": 0, } def get_page(self) -> List[dict]: