From 4298e36d744bb1f1682bb6f29f07447411cafa7e Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 23 Aug 2023 22:01:19 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E5=90=8C=E5=90=8D=E6=97=B6=E4=BC=98?= =?UTF-8?q?=E5=85=88=E5=8C=B9=E9=85=8D=E6=96=B0=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/modules/themoviedb/tmdbapi.py | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/app/modules/themoviedb/tmdbapi.py b/app/modules/themoviedb/tmdbapi.py index 7368b1d3..9bc6e377 100644 --- a/app/modules/themoviedb/tmdbapi.py +++ b/app/modules/themoviedb/tmdbapi.py @@ -222,7 +222,11 @@ class TmdbHelper: return {} else: # 按年份降序排列 - movies = sorted(movies, key=lambda x: x.get('release_date'), reverse=True) + movies = sorted( + movies, + key=lambda x: x.get('release_date') or '0000-00-00', + reverse=True + ) for movie in movies: # 年份 movie_year = movie.get('release_date')[0:4] if movie.get('release_date') else None @@ -266,7 +270,11 @@ class TmdbHelper: return {} else: # 按年份降序排列 - tvs = sorted(tvs, key=lambda x: x.get('first_air_date'), reverse=True) + tvs = sorted( + tvs, + key=lambda x: x.get('first_air_date') or '0000-00-00', + reverse=True + ) for tv in tvs: tv_year = tv.get('first_air_date')[0:4] if tv.get('first_air_date') else None if year and tv_year != year: @@ -324,7 +332,11 @@ class TmdbHelper: return {} else: # 按年份降序排列 - tvs = sorted(tvs, key=lambda x: x.get('first_air_date'), reverse=True) + tvs = sorted( + tvs, + key=lambda x: x.get('first_air_date') or '0000-00-00', + reverse=True + ) for tv in tvs: # 年份 tv_year = tv.get('first_air_date')[0:4] if tv.get('first_air_date') else None @@ -398,7 +410,12 @@ class TmdbHelper: if len(multis) == 0: logger.debug(f"{name} 未找到相关媒体息!") else: - # 匹配标题、原标题 + # 按年份降序排列 + multis = sorted( + multis, + key=lambda x: x.get('release_date') or x.get('first_air_date') or '0000-00-00', + reverse=True + ) for multi in multis: if multi.get("media_type") == "movie": if self.__compare_names(name, multi.get('title')) \