fix 目录监控消息通知剧集集数错误
This commit is contained in:
parent
624365542c
commit
f8d5e3f438
@ -396,11 +396,12 @@ class TransferChain(ChainBase):
|
||||
)
|
||||
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:
|
||||
msg_str = f"评分:{mediainfo.vote_average},类型:{mediainfo.type.value}"
|
||||
else:
|
||||
|
@ -423,22 +423,50 @@ class DirMonitor(_PluginBase):
|
||||
# 汇总处理文件总大小
|
||||
total_size = 0
|
||||
file_count = 0
|
||||
|
||||
# 剧集汇总
|
||||
episodes = []
|
||||
for file in media_files:
|
||||
transferinfo = file.get("transferinfo")
|
||||
total_size += transferinfo.total_size
|
||||
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.file_count = file_count
|
||||
|
||||
# 剧集季集信息 S01 E01-E04 || S01 E01、E02、E04
|
||||
season_episode = None
|
||||
# 处理文件多,说明是剧集,显示季入库消息
|
||||
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,
|
||||
mediainfo=mediainfo,
|
||||
transferinfo=transferinfo)
|
||||
season_episode=season_episode)
|
||||
# 发送完消息,移出key
|
||||
del self._medias[medis_title_year_season]
|
||||
continue
|
||||
|
Loading…
x
Reference in New Issue
Block a user