mirror of
https://github.com/thsrite/MoviePilot-Plugins.git
synced 2026-03-27 10:05:57 +00:00
fix #198
This commit is contained in:
@@ -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": "适时关闭独占模式",
|
||||
|
||||
@@ -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"},
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user