fix 目录监控消息通知剧集集数错误
This commit is contained in:
parent
624365542c
commit
f8d5e3f438
@ -396,11 +396,12 @@ class TransferChain(ChainBase):
|
|||||||
)
|
)
|
||||||
return his
|
return his
|
||||||
|
|
||||||
def send_transfer_message(self, meta: MetaBase, mediainfo: MediaInfo, transferinfo: TransferInfo):
|
def send_transfer_message(self, meta: MetaBase, mediainfo: MediaInfo, transferinfo: TransferInfo,
|
||||||
|
season_episode: str = None):
|
||||||
"""
|
"""
|
||||||
发送入库成功的消息
|
发送入库成功的消息
|
||||||
"""
|
"""
|
||||||
msg_title = f"{mediainfo.title_year} {meta.season_episode} 已入库"
|
msg_title = f"{mediainfo.title_year} {meta.season_episode if not season_episode else season_episode} 已入库"
|
||||||
if mediainfo.vote_average:
|
if mediainfo.vote_average:
|
||||||
msg_str = f"评分:{mediainfo.vote_average},类型:{mediainfo.type.value}"
|
msg_str = f"评分:{mediainfo.vote_average},类型:{mediainfo.type.value}"
|
||||||
else:
|
else:
|
||||||
|
@ -423,22 +423,50 @@ class DirMonitor(_PluginBase):
|
|||||||
# 汇总处理文件总大小
|
# 汇总处理文件总大小
|
||||||
total_size = 0
|
total_size = 0
|
||||||
file_count = 0
|
file_count = 0
|
||||||
|
|
||||||
|
# 剧集汇总
|
||||||
|
episodes = []
|
||||||
for file in media_files:
|
for file in media_files:
|
||||||
transferinfo = file.get("transferinfo")
|
transferinfo = file.get("transferinfo")
|
||||||
total_size += transferinfo.total_size
|
total_size += transferinfo.total_size
|
||||||
file_count += 1
|
file_count += 1
|
||||||
|
|
||||||
|
file_meta = file.get("file_meta")
|
||||||
|
if file_meta and file_meta.begin_episode:
|
||||||
|
episodes.append(file_meta.begin_episode)
|
||||||
|
|
||||||
transferinfo.total_size = total_size
|
transferinfo.total_size = total_size
|
||||||
# 汇总处理文件数量
|
# 汇总处理文件数量
|
||||||
transferinfo.file_count = file_count
|
transferinfo.file_count = file_count
|
||||||
|
|
||||||
|
# 剧集季集信息 S01 E01-E04 || S01 E01、E02、E04
|
||||||
|
season_episode = None
|
||||||
# 处理文件多,说明是剧集,显示季入库消息
|
# 处理文件多,说明是剧集,显示季入库消息
|
||||||
if mediainfo.type == MediaType.TV and file_count > 1:
|
if mediainfo.type == MediaType.TV and file_count > 1:
|
||||||
file_meta.begin_episode = file_meta.begin_episode
|
# 剧集季
|
||||||
file_meta.end_episode = media_files[-1].get("file_meta").begin_episode
|
season = file_meta.begin_season
|
||||||
|
|
||||||
|
# 剧集按照升序排序
|
||||||
|
episodes.sort()
|
||||||
|
# 开始、结束index
|
||||||
|
start = int(episodes[0][-1:])
|
||||||
|
end = int(episodes[len(episodes) - 1][-1:])
|
||||||
|
|
||||||
|
# 开始结束间所有的元素 1,2,3,4
|
||||||
|
all_ele = [i for i in range(start, end + 1)]
|
||||||
|
# 本次剧集组所有的元素 1,2,4
|
||||||
|
episode_ele = [int(e.replace("E", "")) for e in episodes]
|
||||||
|
|
||||||
|
# 如果本次剧集组所有元素=开始结束间所有元素,则表示区间内 S01 E01-E04
|
||||||
|
if all_ele == episode_ele:
|
||||||
|
season_episode = f"{season} {episodes[start - 1]}-{episodes[end - 1]}"
|
||||||
|
else:
|
||||||
|
# 否则所有剧集组逗号分隔显示 S01 E01、E02、E04
|
||||||
|
season_episode = f"{season} {'、'.join(episodes)}"
|
||||||
|
|
||||||
self.transferchian.send_transfer_message(meta=file_meta,
|
self.transferchian.send_transfer_message(meta=file_meta,
|
||||||
mediainfo=mediainfo,
|
mediainfo=mediainfo,
|
||||||
transferinfo=transferinfo)
|
season_episode=season_episode)
|
||||||
# 发送完消息,移出key
|
# 发送完消息,移出key
|
||||||
del self._medias[medis_title_year_season]
|
del self._medias[medis_title_year_season]
|
||||||
continue
|
continue
|
||||||
|
Loading…
x
Reference in New Issue
Block a user