This commit is contained in:
jxxghp 2023-08-11 14:12:36 +08:00
parent d05f1f8991
commit 5116f7b059

View File

@ -502,38 +502,46 @@ def arr_series_lookup(apikey: str, term: str, db: Session = Depends(get_db)) ->
status_code=403, status_code=403,
detail="认证失败!", detail="认证失败!",
) )
# 查询TMDB媒体信息
# 获取TVDBID
if not term.startswith("tvdb:"): if not term.startswith("tvdb:"):
mediainfo = MediaChain().recognize_media(meta=MetaInfo(term), mediainfo = MediaChain().recognize_media(meta=MetaInfo(term),
mtype=MediaType.MOVIE) mtype=MediaType.TV)
if not mediainfo: if not mediainfo:
return [SonarrSeries()] return [SonarrSeries()]
tvdbid = mediainfo.tvdb_id tvdbid = mediainfo.tvdb_id
tmdbid = mediainfo.tmdb_id if not tvdbid:
else:
tvdbid = int(term.replace("tvdb:", ""))
mediainfo = MediaChain().recognize_media(mtype=MediaType.MOVIE,
tmdbid=tvdbid)
if not mediainfo:
return [SonarrSeries()] return [SonarrSeries()]
tmdbid = mediainfo.tmdb_id else:
# 查询TVDB季信息 mediainfo = None
tvdbid = int(term.replace("tvdb:", ""))
# 查询TVDB信息
tvdbinfo = MediaChain().tvdb_info(tvdbid=tvdbid)
if not tvdbinfo:
return [SonarrSeries()]
# 季信息
seas: List[int] = [] seas: List[int] = []
if tvdbid: sea_num = tvdbinfo.get('season')
tvdbinfo = MediaChain().tvdb_info(tvdbid=tvdbid) if sea_num:
if tvdbinfo: seas = list(range(1, int(sea_num) + 1))
sea_num = tvdbinfo.get('season')
if sea_num: # 根据TVDB查询媒体信息
seas = list(range(1, int(sea_num) + 1)) if not mediainfo:
mediainfo = MediaChain().recognize_media(meta=MetaInfo(tvdbinfo.get('seriesName')),
mtype=MediaType.TV)
# 查询是否存在 # 查询是否存在
exists = MediaChain().media_exists(mediainfo) exists = MediaChain().media_exists(mediainfo)
if exists: if exists:
hasfile = True hasfile = True
else: else:
hasfile = False hasfile = False
# 查询订阅信息 # 查询订阅信息
seasons: List[dict] = [] seasons: List[dict] = []
subscribes = Subscribe.get_by_tmdbid(db, tmdbid) subscribes = Subscribe.get_by_tmdbid(db, mediainfo.tmdb_id)
if subscribes: if subscribes:
# 已监控 # 已监控
monitored = True monitored = True