diff --git a/package.v2.json b/package.v2.json index cbb975a..8efff85 100644 --- a/package.v2.json +++ b/package.v2.json @@ -3,11 +3,12 @@ "name": "Emby元数据刷新", "description": "定时刷新Emby媒体库元数据,演职人员中文。", "labels": "Emby", - "version": "2.2.4", + "version": "2.2.5", "icon": "https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/icons/emby-icon.png", "author": "thsrite", "level": 1, "history": { + "v2.2.5": "覆盖元数据和图片,增加auto选项", "v2.2.4": "优化执行周期输入,需要MoviePilot v2.2.1+", "v2.2.3": "优先插件更新剧集封面图", "v2.2.2": "适时关闭独占模式", diff --git a/plugins.v2/embymetarefresh/__init__.py b/plugins.v2/embymetarefresh/__init__.py index 686372e..029834e 100644 --- a/plugins.v2/embymetarefresh/__init__.py +++ b/plugins.v2/embymetarefresh/__init__.py @@ -37,7 +37,7 @@ class EmbyMetaRefresh(_PluginBase): # 插件图标 plugin_icon = "https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/icons/emby-icon.png" # 插件版本 - plugin_version = "2.2.4" + plugin_version = "2.2.5" # 插件作者 plugin_author = "thsrite" # 作者主页 @@ -242,41 +242,44 @@ class EmbyMetaRefresh(_PluginBase): # 刷新媒体库 for item in latest: + refresh_meta = self._ReplaceAllMetadata + refresh_image = self._ReplaceAllImages # 信息不全再刷新 - refresh_meta = "false" - refresh_image = "false" - if (str(item.get('Type')) == 'Episode' and str( - item.get("Name")) == f"第 {item.get('IndexNumber')} 集"): - refresh_meta = "true" + if self._ReplaceAllMetadata == "auto": + refresh_meta = "false" + if (str(item.get('Type')) == 'Episode' and (str( + item.get("Name")) == f"第 {item.get('IndexNumber')} 集") or not item.get("Overview")): + refresh_meta = "true" + if self._ReplaceAllImages == "auto": + refresh_image = "false" + # 判断图片是否tmdb封面,不是则刷新 + if str(item.get('Type')) == 'Episode' and (not item.get("PrimaryImageAspectRatio") or float( + item.get("PrimaryImageAspectRatio")) >= 1.8): - # 判断图片是否tmdb封面,不是则刷新 - if str(item.get('Type')) == 'Episode' and (not item.get("PrimaryImageAspectRatio") or float( - item.get("PrimaryImageAspectRatio")) >= 1.8): + # 判断是否有缓存 + tv_info = None + key = f"{item.get('Type')}-{item.get('SeriesName')}-{str(item.get('ProductionYear'))}" + if key in self._tmdb_cache.keys(): + tv_info = self._tmdb_cache[key] - # 判断是否有缓存 - tv_info = None - key = f"{item.get('Type')}-{item.get('SeriesName')}-{str(item.get('ProductionYear'))}" - if key in self._tmdb_cache.keys(): - tv_info = self._tmdb_cache[key] - - if not tv_info: - # 判断下tmdb有没有封面,没有则不刷新封面 - tv_info = self.tmdbapi.match(name=item.get('SeriesName'), - mtype=MediaType.TV, - year=str(item.get('ProductionYear'))) - if tv_info: - self._tmdb_cache[key] = tv_info - episode_info = TmdbApi().get_tv_episode_detail(tv_info["id"], - item.get('ParentIndexNumber'), - item.get('IndexNumber')) - if episode_info and episode_info.get("still_path"): - # 更新封面 - flag = self.__update_item_image(item_id=item.get("Id"), - image_url=f"https://image.tmdb.org/t/p/original{episode_info.get('still_path')}") - if flag: - refresh_image = "false" - logger.info( - f"最新媒体:电视剧 {'%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')} 封面更新 {flag}") + if not tv_info: + # 判断下tmdb有没有封面,没有则不刷新封面 + tv_info = self.tmdbapi.match(name=item.get('SeriesName'), + mtype=MediaType.TV, + year=str(item.get('ProductionYear'))) + if tv_info: + self._tmdb_cache[key] = tv_info + episode_info = TmdbApi().get_tv_episode_detail(tv_info["id"], + item.get('ParentIndexNumber'), + item.get('IndexNumber')) + if episode_info and episode_info.get("still_path"): + # 更新封面 + flag = self.__update_item_image(item_id=item.get("Id"), + image_url=f"https://image.tmdb.org/t/p/original{episode_info.get('still_path')}") + if flag: + refresh_image = "false" + logger.info( + f"最新媒体:电视剧 {'%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')} 封面更新 {flag}") if refresh_meta == "true" or refresh_image == "true": logger.info( @@ -1216,6 +1219,7 @@ class EmbyMetaRefresh(_PluginBase): 'items': [ {'title': 'true', 'value': "true"}, {'title': 'false', 'value': "false"}, + {'title': 'auto', 'value': "auto"}, ] } } @@ -1236,6 +1240,7 @@ class EmbyMetaRefresh(_PluginBase): 'items': [ {'title': 'true', 'value': "true"}, {'title': 'false', 'value': "false"}, + {'title': 'auto', 'value': "auto"}, ] } }