fix DirMonitor

This commit is contained in:
jxxghp 2023-08-03 20:44:44 +08:00
parent 59bb8e45e9
commit 53844ac318

View File

@ -65,6 +65,7 @@ class DirMonitor(_PluginBase):
transferhis = None transferhis = None
_observer = [] _observer = []
_enabled = False _enabled = False
_notify = False
# 模式 compatibility/fast # 模式 compatibility/fast
_mode = "fast" _mode = "fast"
# 转移方式 # 转移方式
@ -78,6 +79,7 @@ class DirMonitor(_PluginBase):
# 读取配置 # 读取配置
if config: if config:
self._enabled = config.get("enabled") self._enabled = config.get("enabled")
self._notify = config.get("notify")
self._mode = config.get("mode") self._mode = config.get("mode")
self._transfer_type = config.get("transfer_type") self._transfer_type = config.get("transfer_type")
self._monitor_dirs = config.get("monitor_dirs") or "" self._monitor_dirs = config.get("monitor_dirs") or ""
@ -200,6 +202,7 @@ class DirMonitor(_PluginBase):
mediainfo: MediaInfo = self.chain.recognize_media(meta=file_meta) mediainfo: MediaInfo = self.chain.recognize_media(meta=file_meta)
if not mediainfo: if not mediainfo:
logger.warn(f'未识别到媒体信息,标题:{file_meta.name}') logger.warn(f'未识别到媒体信息,标题:{file_meta.name}')
if self._notify:
self.chain.post_message(Notification( self.chain.post_message(Notification(
mtype=NotificationType.Manual, mtype=NotificationType.Manual,
title=f"{file_path.name} 未识别到媒体信息,无法入库!" title=f"{file_path.name} 未识别到媒体信息,无法入库!"
@ -218,6 +221,7 @@ class DirMonitor(_PluginBase):
if not transferinfo or not transferinfo.target_path: if not transferinfo or not transferinfo.target_path:
# 转移失败 # 转移失败
logger.warn(f"{file_path.name} 入库失败") logger.warn(f"{file_path.name} 入库失败")
if self._notify:
self.chain.post_message(Notification( self.chain.post_message(Notification(
title=f"{mediainfo.title_year}{file_meta.season_episode} 入库失败!", title=f"{mediainfo.title_year}{file_meta.season_episode} 入库失败!",
text=f"原因:{transferinfo.message if transferinfo else '未知'}", text=f"原因:{transferinfo.message if transferinfo else '未知'}",
@ -249,6 +253,7 @@ class DirMonitor(_PluginBase):
# 刷新媒体库 # 刷新媒体库
self.chain.refresh_mediaserver(mediainfo=mediainfo, file_path=transferinfo.target_path) self.chain.refresh_mediaserver(mediainfo=mediainfo, file_path=transferinfo.target_path)
# 发送通知 # 发送通知
if self._notify:
self.chain.__send_transfer_message(meta=file_meta, mediainfo=mediainfo, transferinfo=transferinfo) self.chain.__send_transfer_message(meta=file_meta, mediainfo=mediainfo, transferinfo=transferinfo)
# 广播事件 # 广播事件
self.eventmanager.send_event(EventType.TransferComplete, { self.eventmanager.send_event(EventType.TransferComplete, {
@ -293,6 +298,22 @@ class DirMonitor(_PluginBase):
} }
} }
] ]
},
{
'component': 'VCol',
'props': {
'cols': 12,
'md': 6
},
'content': [
{
'component': 'VSwitch',
'props': {
'model': 'notify',
'label': '发送通知',
}
}
]
} }
] ]
}, },
@ -391,6 +412,7 @@ class DirMonitor(_PluginBase):
} }
], { ], {
"enabled": False, "enabled": False,
"notify": False,
"mode": "fast", "mode": "fast",
"transfer_type": settings.TRANSFER_TYPE, "transfer_type": settings.TRANSFER_TYPE,
"monitor_dirs": "", "monitor_dirs": "",