feat 补充剧集全部季年份
This commit is contained in:
parent
af6cf306c8
commit
a0b8cc6719
@ -132,6 +132,11 @@ class TheMovieDbModule(_ModuleBase):
|
||||
else:
|
||||
logger.info(f"{tmdbid} 识别结果:{mediainfo.type.value} "
|
||||
f"{mediainfo.title_year}")
|
||||
|
||||
# 补充剧集年份
|
||||
episode_years = self.tmdb.get_tv_episode_years(info.get("id"))
|
||||
if episode_years:
|
||||
mediainfo.season_years = episode_years
|
||||
return mediainfo
|
||||
else:
|
||||
logger.info(f"{meta.name if meta else tmdbid} 未匹配到媒体信息")
|
||||
|
@ -1167,3 +1167,35 @@ class TmdbHelper:
|
||||
清除缓存
|
||||
"""
|
||||
self.tmdb.cache_clear()
|
||||
|
||||
def get_tv_episode_years(self, tv_id: int):
|
||||
"""
|
||||
查询剧集组年份
|
||||
"""
|
||||
episode_groups = self.tv.episode_groups(tv_id)
|
||||
if not episode_groups:
|
||||
return []
|
||||
try:
|
||||
episode_years = []
|
||||
for episode_group in episode_groups:
|
||||
logger.info(f"正在获取剧集组年份:{episode_group.get('id')}...")
|
||||
if episode_group.get('type') != 6:
|
||||
# 只处理剧集部分
|
||||
continue
|
||||
group_episodes = self.tv.group_episodes(episode_group.get('id'))
|
||||
if not group_episodes:
|
||||
continue
|
||||
for group_episode in group_episodes:
|
||||
order = group_episode.get('order')
|
||||
episodes = group_episode.get('episodes')
|
||||
if not episodes or not order:
|
||||
continue
|
||||
# 当前季第一季时间
|
||||
first_date = episodes[0].get("air_date")
|
||||
if not first_date and str(first_date).split("-") != 3:
|
||||
continue
|
||||
episode_years.append(str(first_date).split("-")[0])
|
||||
return episode_years
|
||||
except Exception as e:
|
||||
print(str(e))
|
||||
return []
|
||||
|
@ -33,6 +33,7 @@ class TV(TMDb):
|
||||
"on_the_air": "/tv/on_the_air",
|
||||
"popular": "/tv/popular",
|
||||
"top_rated": "/tv/top_rated",
|
||||
"group_episodes": "/tv/episode_group/%s",
|
||||
}
|
||||
|
||||
def details(self, tv_id, append_to_response="videos,trailers,images,credits,translations"):
|
||||
@ -130,6 +131,17 @@ class TV(TMDb):
|
||||
key="results"
|
||||
)
|
||||
|
||||
def group_episodes(self, group_id):
|
||||
"""
|
||||
查询剧集组所有剧集
|
||||
:param group_id: int
|
||||
:return:
|
||||
"""
|
||||
return self._request_obj(
|
||||
self._urls["group_episodes"] % group_id,
|
||||
key="groups"
|
||||
)
|
||||
|
||||
def external_ids(self, tv_id):
|
||||
"""
|
||||
Get the external ids for a TV show.
|
||||
|
Loading…
x
Reference in New Issue
Block a user