fix tmdbapi
This commit is contained in:
@ -89,7 +89,7 @@ class TheMovieDbModule(_ModuleBase):
|
|||||||
year=meta.year,
|
year=meta.year,
|
||||||
mtype=MediaType.TV)
|
mtype=MediaType.TV)
|
||||||
if not info:
|
if not info:
|
||||||
# 非严格模式下去掉年份和类型再查一次
|
# 去掉年份和类型再查一次
|
||||||
info = self.tmdb.match_multi(name=meta.name)
|
info = self.tmdb.match_multi(name=meta.name)
|
||||||
|
|
||||||
if not info:
|
if not info:
|
||||||
|
@ -191,8 +191,7 @@ class TmdbHelper:
|
|||||||
if not info:
|
if not info:
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"正在识别{mtype.value}:{name}, 年份={year} ...")
|
f"正在识别{mtype.value}:{name}, 年份={year} ...")
|
||||||
info = self.__search_tv_by_name(name,
|
info = self.__search_tv_by_name(name, year)
|
||||||
year)
|
|
||||||
if info:
|
if info:
|
||||||
info['media_type'] = MediaType.TV
|
info['media_type'] = MediaType.TV
|
||||||
# 返回
|
# 返回
|
||||||
@ -222,25 +221,16 @@ class TmdbHelper:
|
|||||||
logger.debug(f"{name} 未找到相关电影信息!")
|
logger.debug(f"{name} 未找到相关电影信息!")
|
||||||
return {}
|
return {}
|
||||||
else:
|
else:
|
||||||
|
for movie in movies:
|
||||||
|
# 年份
|
||||||
|
movie_year = movie.get('release_date')[0:4] if movie.get('release_date') else None
|
||||||
|
if year and movie_year != year:
|
||||||
|
# 年份不匹配
|
||||||
|
continue
|
||||||
# 匹配标题、原标题
|
# 匹配标题、原标题
|
||||||
if year:
|
if self.__compare_names(name, movie.get('title')):
|
||||||
for movie in movies:
|
|
||||||
if movie.get('release_date'):
|
|
||||||
if self.__compare_names(name, movie.get('title')) \
|
|
||||||
and movie.get('release_date')[0:4] == str(year):
|
|
||||||
return movie
|
return movie
|
||||||
if self.__compare_names(name, movie.get('original_title')) \
|
if self.__compare_names(name, movie.get('original_title')):
|
||||||
and movie.get('release_date')[0:4] == str(year):
|
|
||||||
return movie
|
|
||||||
# 匹配别名、译名
|
|
||||||
if not movie.get("names"):
|
|
||||||
movie = self.get_info(mtype=MediaType.MOVIE, tmdbid=movie.get("id"))
|
|
||||||
if movie and self.__compare_names(name, movie.get("names")):
|
|
||||||
return movie
|
|
||||||
else:
|
|
||||||
for movie in movies:
|
|
||||||
if self.__compare_names(name, movie.get('title')) \
|
|
||||||
or self.__compare_names(name, movie.get('original_title')):
|
|
||||||
return movie
|
return movie
|
||||||
# 匹配别名、译名
|
# 匹配别名、译名
|
||||||
if not movie.get("names"):
|
if not movie.get("names"):
|
||||||
@ -273,32 +263,21 @@ class TmdbHelper:
|
|||||||
logger.debug(f"{name} 未找到相关剧集信息!")
|
logger.debug(f"{name} 未找到相关剧集信息!")
|
||||||
return {}
|
return {}
|
||||||
else:
|
else:
|
||||||
|
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:
|
||||||
|
# 年份不匹配
|
||||||
|
continue
|
||||||
# 匹配标题、原标题
|
# 匹配标题、原标题
|
||||||
if year:
|
if self.__compare_names(name, tv.get('name')):
|
||||||
for tv in tvs:
|
|
||||||
if tv.get('first_air_date'):
|
|
||||||
if self.__compare_names(name, tv.get('name')) \
|
|
||||||
and tv.get('first_air_date')[0:4] == str(year):
|
|
||||||
return tv
|
return tv
|
||||||
if self.__compare_names(name, tv.get('original_name')) \
|
if self.__compare_names(name, tv.get('original_name')):
|
||||||
and tv.get('first_air_date')[0:4] == str(year):
|
|
||||||
return tv
|
return tv
|
||||||
# 匹配别名、译名
|
# 匹配别名、译名
|
||||||
if not tv.get("names"):
|
if not tv.get("names"):
|
||||||
tv = self.get_info(mtype=MediaType.TV, tmdbid=tv.get("id"))
|
tv = self.get_info(mtype=MediaType.TV, tmdbid=tv.get("id"))
|
||||||
if tv and self.__compare_names(name, tv.get("names")):
|
if tv and self.__compare_names(name, tv.get("names")):
|
||||||
return tv
|
return tv
|
||||||
else:
|
|
||||||
for tv in tvs:
|
|
||||||
if self.__compare_names(name, tv.get('name')) \
|
|
||||||
or self.__compare_names(name, tv.get('original_name')):
|
|
||||||
return tv
|
|
||||||
# 匹配别名、译名
|
|
||||||
if not tv.get("names"):
|
|
||||||
tv = self.get_info(mtype=MediaType.TV, tmdbid=tv.get("id"))
|
|
||||||
if tv and self.__compare_names(name, tv.get("names")):
|
|
||||||
return tv
|
|
||||||
|
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def __search_tv_by_season(self, name: str, season_year: str, season_number: int) -> Optional[dict]:
|
def __search_tv_by_season(self, name: str, season_year: str, season_number: int) -> Optional[dict]:
|
||||||
@ -342,9 +321,11 @@ class TmdbHelper:
|
|||||||
else:
|
else:
|
||||||
# 匹配标题、原标题
|
# 匹配标题、原标题
|
||||||
for tv in tvs:
|
for tv in tvs:
|
||||||
|
# 年份
|
||||||
|
tv_year = tv.get('first_air_date')[0:4] if tv.get('first_air_date') else None
|
||||||
if (self.__compare_names(name, tv.get('name'))
|
if (self.__compare_names(name, tv.get('name'))
|
||||||
or self.__compare_names(name, tv.get('original_name'))) \
|
or self.__compare_names(name, tv.get('original_name'))) \
|
||||||
and (tv.get('first_air_date') and tv.get('first_air_date')[0:4] == str(season_year)):
|
and (tv_year == str(season_year)):
|
||||||
return tv
|
return tv
|
||||||
# 匹配别名、译名
|
# 匹配别名、译名
|
||||||
if not tv.get("names"):
|
if not tv.get("names"):
|
||||||
|
Reference in New Issue
Block a user