fix bug
This commit is contained in:
@ -330,7 +330,7 @@ class DownloadChain(ChainBase):
|
||||
:return: 当前媒体是否缺失,各标题总的季集和缺失的季集
|
||||
"""
|
||||
|
||||
def __append_no_exists(_season: int, _episodes: list, _start: int, _total: int):
|
||||
def __append_no_exists(_season: int, _episodes: list, _total: int, _start: int):
|
||||
"""
|
||||
添加不存在的季集信息
|
||||
"""
|
||||
@ -367,6 +367,7 @@ class DownloadChain(ChainBase):
|
||||
mtype=mediainfo.type,
|
||||
tmdbid=mediainfo.tmdb_id)
|
||||
if not mediainfo:
|
||||
logger.error(f"媒体信息识别失败!")
|
||||
return False, {}
|
||||
if not mediainfo.seasons:
|
||||
logger.error(f"媒体信息中没有季集信息:{mediainfo.get_title_string()}")
|
||||
@ -377,7 +378,7 @@ class DownloadChain(ChainBase):
|
||||
# 所有剧集均缺失
|
||||
for season, episodes in mediainfo.seasons.items():
|
||||
# 全季不存在
|
||||
__append_no_exists(season, [], len(episodes), min(episodes))
|
||||
__append_no_exists(_season=season, _episodes=[], _total=len(episodes), _start=min(episodes))
|
||||
return False, no_exists
|
||||
else:
|
||||
# 存在一些,检查缺失的季集
|
||||
@ -390,10 +391,12 @@ class DownloadChain(ChainBase):
|
||||
# 全部集存在
|
||||
continue
|
||||
# 添加不存在的季集信息
|
||||
__append_no_exists(season, episodes, len(episodes), min(episodes))
|
||||
__append_no_exists(_season=season, _episodes=episodes,
|
||||
_total=len(episodes), _start=min(episodes))
|
||||
else:
|
||||
# 全季不存在
|
||||
__append_no_exists(season, [], len(episodes), min(episodes))
|
||||
__append_no_exists(_season=season, _episodes=[],
|
||||
_total=len(episodes), _start=min(episodes))
|
||||
# 存在不完整的剧集
|
||||
if no_exists:
|
||||
logger.info(f"媒体库中已存在部分剧集,缺失:{no_exists}")
|
||||
|
@ -39,6 +39,14 @@ class SearchChain(ChainBase):
|
||||
if not indexer_sites:
|
||||
logger.warn('未开启任何有效站点,无法搜索资源')
|
||||
return []
|
||||
# 补充媒体信息
|
||||
if not mediainfo.names:
|
||||
mediainfo: MediaInfo = self.recognize_media(meta=MetaInfo(title=mediainfo.get_title_string()),
|
||||
mtype=mediainfo.type,
|
||||
tmdbid=mediainfo.tmdb_id)
|
||||
if not mediainfo:
|
||||
logger.error(f'媒体信息识别失败!')
|
||||
return []
|
||||
# 缺失的媒体信息
|
||||
if no_exists:
|
||||
# 过滤剧集
|
||||
|
@ -57,6 +57,27 @@ class SubscribeChain(ChainBase):
|
||||
return False
|
||||
# 更新媒体图片
|
||||
self.obtain_image(mediainfo=mediainfo)
|
||||
# 总集数
|
||||
if mediainfo.type == MediaType.TV:
|
||||
if not kwargs.get('total_episode'):
|
||||
if not mediainfo.seasons:
|
||||
# 补充媒体信息
|
||||
mediainfo: MediaInfo = self.recognize_media(meta=MetaInfo(title=mediainfo.get_title_string()),
|
||||
mtype=mediainfo.type,
|
||||
tmdbid=mediainfo.tmdb_id)
|
||||
if not mediainfo:
|
||||
logger.error(f"媒体信息识别失败!")
|
||||
return False
|
||||
if not mediainfo.seasons:
|
||||
logger.error(f"媒体信息中没有季集信息,标题:{title},tmdbid:{tmdbid}")
|
||||
return False
|
||||
total_episode = len(mediainfo.seasons.get(kwargs.get('season') or 1) or [])
|
||||
if not total_episode:
|
||||
logger.error(f'未获取到总集数,标题:{title},tmdbid:{tmdbid}')
|
||||
return False
|
||||
kwargs.update({
|
||||
'total_episode': total_episode
|
||||
})
|
||||
# 添加订阅
|
||||
state, err_msg = self.subscribes.add(mediainfo, season=season, **kwargs)
|
||||
if not state:
|
||||
|
@ -287,6 +287,7 @@ class UserMessageChain(ChainBase):
|
||||
if not medias:
|
||||
self.post_message(title=f"{meta.get_name()} 没有找到对应的媒体信息!", userid=userid)
|
||||
return
|
||||
logger.info(f"搜索到 {len(medias)} 条相关媒体信息")
|
||||
self._user_cache[userid] = {
|
||||
'type': action,
|
||||
'items': medias
|
||||
|
Reference in New Issue
Block a user