From 4e74d32882191fdb50432b937cf062890ae6255e Mon Sep 17 00:00:00 2001 From: CHANTXU64 Date: Mon, 2 Feb 2026 10:28:22 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20TMDB=20=E5=89=A7=E9=9B=86=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E9=A1=B5=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=AC=AC=200=20?= =?UTF-8?q?=E5=AD=A3=EF=BC=88=E7=89=B9=E5=88=AB=E7=AF=87=EF=BC=89=20#5444?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/endpoints/mediaserver.py | 2 +- app/core/context.py | 2 +- app/modules/themoviedb/__init__.py | 4 ++-- app/modules/themoviedb/tmdbapi.py | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/api/endpoints/mediaserver.py b/app/api/endpoints/mediaserver.py index 3224f88f..51123ec3 100644 --- a/app/api/endpoints/mediaserver.py +++ b/app/api/endpoints/mediaserver.py @@ -101,7 +101,7 @@ def not_exists(media_in: schemas.MediaInfo, mtype = MediaType(media_in.type) if media_in.type else None if mtype: meta.type = mtype - if media_in.season: + if media_in.season is not None: meta.begin_season = media_in.season meta.type = MediaType.TV if media_in.year: diff --git a/app/core/context.py b/app/core/context.py index dd52af63..75f0e055 100644 --- a/app/core/context.py +++ b/app/core/context.py @@ -465,7 +465,7 @@ class MediaInfo: for seainfo in info.get('seasons'): # 季 season = seainfo.get("season_number") - if not season: + if season is None: continue # 集 episode_count = seainfo.get("episode_count") diff --git a/app/modules/themoviedb/__init__.py b/app/modules/themoviedb/__init__.py index 4cfd494d..4ee52c2e 100644 --- a/app/modules/themoviedb/__init__.py +++ b/app/modules/themoviedb/__init__.py @@ -798,7 +798,7 @@ class TheMovieDbModule(_ModuleBase): if not tmdb_info: return [] return [schemas.TmdbSeason(**sea) - for sea in tmdb_info.get("seasons", []) if sea.get("season_number")] + for sea in tmdb_info.get("seasons", []) if sea.get("season_number") is not None] def tmdb_group_seasons(self, group_id: str) -> List[schemas.TmdbSeason]: """ @@ -1168,7 +1168,7 @@ class TheMovieDbModule(_ModuleBase): if not tmdb_info: return [] return [schemas.TmdbSeason(**sea) - for sea in tmdb_info.get("seasons", []) if sea.get("season_number")] + for sea in tmdb_info.get("seasons", []) if sea.get("season_number") is not None] async def async_tmdb_group_seasons(self, group_id: str) -> List[schemas.TmdbSeason]: """ diff --git a/app/modules/themoviedb/tmdbapi.py b/app/modules/themoviedb/tmdbapi.py index 417a5931..2a02d777 100644 --- a/app/modules/themoviedb/tmdbapi.py +++ b/app/modules/themoviedb/tmdbapi.py @@ -167,7 +167,7 @@ class TmdbApi: """ 记录匹配调试日志 """ - if season_number and season_year: + if season_number is not None and season_year: logger.debug(f"正在识别{mtype.value}:{name}, 季集={season_number}, 季集年份={season_year} ...") else: logger.debug(f"正在识别{mtype.value}:{name}, 年份={year} ...") @@ -473,7 +473,7 @@ class TmdbApi: info = self._set_media_type(info, MediaType.MOVIE) else: # 有当前季和当前季集年份,使用精确匹配 - if season_year and season_number: + if season_year and season_number is not None: self._log_match_debug(mtype, name, season_year, season_number, season_year) info = self.__search_tv_by_season(name, season_year, @@ -697,7 +697,7 @@ class TmdbApi: return {} ret_seasons = {} for season_info in tv_info.get("seasons") or []: - if not season_info.get("season_number"): + if season_info.get("season_number") is None: continue ret_seasons[season_info.get("season_number")] = season_info return ret_seasons @@ -2028,7 +2028,7 @@ class TmdbApi: info = self._set_media_type(info, MediaType.MOVIE) else: # 有当前季和当前季集年份,使用精确匹配 - if season_year and season_number: + if season_year and season_number is not None: self._log_match_debug(mtype, name, season_year, season_number, season_year) info = await self.__async_search_tv_by_season(name, season_year,