This commit is contained in:
jxxghp
2025-06-17 19:42:16 +08:00
parent 56742ace11
commit 99939e1a3d
+9 -7
View File
@@ -399,28 +399,30 @@ 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最多 # 其他图片,优先环境变量指定语言,再like最多
def pick_best_image(images): def __pick_best_image(_images):
lang_env = settings.FANART_LANG lang_env = settings.FANART_LANG
if lang_env: if lang_env:
langs = [lang.strip() for lang in lang_env.split(",") if lang.strip()] langs = [lang.strip() for lang in lang_env.split(",") if lang.strip()]
for lang in langs: for lang in langs:
lang_images = [img for img in images if img.get('lang') == lang] lang_images = [img for img in _images if img.get('lang') == lang]
if lang_images: if lang_images:
lang_images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True) lang_images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True)
return lang_images[0] return lang_images[0]
# 没设置或没找到,按原逻辑 zh、en、like最多 # 没设置或没找到,按原逻辑 zh、en、like最多
zh_images = [img for img in images if img.get('lang') == 'zh'] zh_images = [img for img in _images if img.get('lang') == 'zh']
if zh_images: if zh_images:
zh_images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True) zh_images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True)
return zh_images[0] return zh_images[0]
en_images = [img for img in images if img.get('lang') == 'en'] en_images = [img for img in _images if img.get('lang') == 'en']
if en_images: if en_images:
en_images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True) en_images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True)
return en_images[0] return en_images[0]
images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True) _images.sort(key=lambda x: int(x.get('likes', 0)), reverse=True)
return images[0] return _images[0]
image_obj = pick_best_image(images)
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'))