mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
Merge pull request #4423 from lonelyman0108/v2
This commit is contained in:
@@ -114,6 +114,8 @@ class ConfigModel(BaseModel):
|
|||||||
TVDB_V4_API_PIN: str = ""
|
TVDB_V4_API_PIN: str = ""
|
||||||
# Fanart开关
|
# Fanart开关
|
||||||
FANART_ENABLE: bool = True
|
FANART_ENABLE: bool = True
|
||||||
|
# Fanart语言
|
||||||
|
FANART_LANG: str = "zh,en"
|
||||||
# Fanart API Key
|
# Fanart API Key
|
||||||
FANART_API_KEY: str = "d2d31f9ecabea050fc7d68aa3146015f"
|
FANART_API_KEY: str = "d2d31f9ecabea050fc7d68aa3146015f"
|
||||||
# 115 AppId
|
# 115 AppId
|
||||||
|
|||||||
@@ -399,10 +399,28 @@ class FanartModule(_ModuleBase):
|
|||||||
if not mediainfo.get_image(season_image):
|
if not mediainfo.get_image(season_image):
|
||||||
mediainfo.set_image(season_image, image_obj.get('url'))
|
mediainfo.set_image(season_image, image_obj.get('url'))
|
||||||
else:
|
else:
|
||||||
# 其他图片,按欢迎程度倒排
|
# 其他图片,优先环境变量指定语言,再like最多
|
||||||
images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True)
|
def pick_best_image(images):
|
||||||
# 取第一张图片
|
lang_env = settings.FANART_LANG
|
||||||
image_obj = images[0]
|
if lang_env:
|
||||||
|
langs = [lang.strip() for lang in lang_env.split(",") if lang.strip()]
|
||||||
|
for lang in langs:
|
||||||
|
lang_images = [img for img in images if img.get('lang') == lang]
|
||||||
|
if lang_images:
|
||||||
|
lang_images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True)
|
||||||
|
return lang_images[0]
|
||||||
|
# 没设置或没找到,按原逻辑 zh、en、like最多
|
||||||
|
zh_images = [img for img in images if img.get('lang') == 'zh']
|
||||||
|
if zh_images:
|
||||||
|
zh_images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True)
|
||||||
|
return zh_images[0]
|
||||||
|
en_images = [img for img in images if img.get('lang') == 'en']
|
||||||
|
if en_images:
|
||||||
|
en_images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True)
|
||||||
|
return en_images[0]
|
||||||
|
images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True)
|
||||||
|
return images[0]
|
||||||
|
image_obj = pick_best_image(images)
|
||||||
# 设置图片,没有图片才设置
|
# 设置图片,没有图片才设置
|
||||||
if not mediainfo.get_image(image_name):
|
if not mediainfo.get_image(image_name):
|
||||||
mediainfo.set_image(image_name, image_obj.get('url'))
|
mediainfo.set_image(image_name, image_obj.get('url'))
|
||||||
|
|||||||
Reference in New Issue
Block a user