feat 目录自定义是否通知

This commit is contained in:
thsrite
2024-10-23 12:57:51 +08:00
parent 5871c60a9d
commit f7357b8a71
3 changed files with 34 additions and 21 deletions

View File

@@ -205,6 +205,15 @@ class TransferChain(ChainBase):
logger.warn(f"{fileitem.path} 没有找到可整理的媒体文件")
return False, f"{fileitem.name} 没有找到可整理的媒体文件"
# 检查目录是否发送通知
transfer_dirinfo = None
for dir_info in self.directoryhelper.get_download_dirs():
if not dir_info.download_path:
continue
if fileitem.path.is_relative_to(Path(dir_info.download_path)):
transfer_dirinfo = dir_info
break
# 处理所有待整理目录或文件,默认一个整理路径或文件只有一个媒体信息
for trans_item in trans_items:
# 汇总季集清单
@@ -240,7 +249,7 @@ class TransferChain(ChainBase):
if not file_items:
logger.warn(f"{fileitem.path} 没有找到可整理的媒体文件")
return False, f"{fileitem.name} 没有找到可整理的媒体文件"
logger.info(f"正在整理 {len(file_items)} 个文件...")
# 整理所有文件
@@ -453,13 +462,14 @@ class TransferChain(ChainBase):
transfer_meta = metas[mkey]
transfer_info = transfers[mkey]
# 发送通知
se_str = None
if media.type == MediaType.TV:
se_str = f"{transfer_meta.season} {StringUtils.format_ep(season_episodes[mkey])}"
self.send_transfer_message(meta=transfer_meta,
mediainfo=media,
transferinfo=transfer_info,
season_episode=se_str)
if transfer_dirinfo and transfer_dirinfo.notify:
se_str = None
if media.type == MediaType.TV:
se_str = f"{transfer_meta.season} {StringUtils.format_ep(season_episodes[mkey])}"
self.send_transfer_message(meta=transfer_meta,
mediainfo=media,
transferinfo=transfer_info,
season_episode=se_str)
# 刮削事件
if scrape or transfer_info.need_scrape:
self.eventmanager.send_event(EventType.MetadataScrape, {

View File

@@ -447,18 +447,18 @@ class Monitor(metaclass=Singleton):
link=settings.MP_DOMAIN('#/history')
))
return
else:
# 转移成功
logger.info(f"{event_path.name} 入库成功:{transferinfo.target_diritem.path}")
# 新增转移成功历史记录
self.transferhis.add_success(
fileitem=file_item,
mode=dir_info.transfer_type,
download_hash=download_hash,
meta=file_meta,
mediainfo=mediainfo,
transferinfo=transferinfo
)
# 转移成功
logger.info(f"{event_path.name} 入库成功:{transferinfo.target_diritem.path}")
# 新增转移成功历史记录
self.transferhis.add_success(
fileitem=file_item,
mode=dir_info.transfer_type,
download_hash=download_hash,
meta=file_meta,
mediainfo=mediainfo,
transferinfo=transferinfo
)
# TODO 汇总刮削
if dir_info.scraping:
@@ -475,7 +475,8 @@ class Monitor(metaclass=Singleton):
})
# 发送消息汇总
self.__collect_msg_medias(mediainfo=mediainfo, file_meta=file_meta, transferinfo=transferinfo)
if dir_info.notify:
self.__collect_msg_medias(mediainfo=mediainfo, file_meta=file_meta, transferinfo=transferinfo)
# 移动模式删除空目录
if dir_info.transfer_type in ["move"]:

View File

@@ -131,3 +131,5 @@ class TransferDirectoryConf(BaseModel):
library_type_folder: Optional[bool] = False
# 媒体库类别子目录
library_category_folder: Optional[bool] = False
# 是否发送通知
notify: Optional[bool] = True