mirror of
https://github.com/thsrite/MoviePilot-Plugins.git
synced 2026-05-19 07:26:44 +00:00
fix 修复主程序修改事件任务后,同步删除未收到通知的问题
This commit is contained in:
@@ -631,12 +631,13 @@
|
||||
"name": "云盘同步删除",
|
||||
"description": "媒体库删除软连接文件后,同步删除云盘文件。",
|
||||
"labels": "云盘",
|
||||
"version": "1.5.8",
|
||||
"version": "1.5.9",
|
||||
"icon": "clouddisk.png",
|
||||
"author": "thsrite",
|
||||
"level": 2,
|
||||
"v2": true,
|
||||
"history": {
|
||||
"v1.5.9": "修复主程序修改事件任务后,同步删除未收到通知的问题",
|
||||
"v1.5.8": "修复删除strm后删除本地文件",
|
||||
"v1.5.6": "修复媒体库路径映射",
|
||||
"v1.5.5": "兼容strm删除",
|
||||
|
||||
@@ -178,11 +178,12 @@
|
||||
"name": "媒体文件同步删除",
|
||||
"description": "同步删除历史记录、源文件和下载任务。",
|
||||
"labels": "媒体库,文件整理",
|
||||
"version": "1.8.6",
|
||||
"version": "1.8.7",
|
||||
"icon": "mediasyncdel.png",
|
||||
"author": "thsrite",
|
||||
"level": 1,
|
||||
"history": {
|
||||
"v1.8.7": "修复主程序修改事件任务后,同步删除未收到通知的问题",
|
||||
"v1.8.6": "修复删除源文件",
|
||||
"v1.8.4": "修复暂停种子失败",
|
||||
"v1.8.3": "修复源文件删除",
|
||||
|
||||
@@ -25,7 +25,7 @@ class MediaSyncDel(_PluginBase):
|
||||
# 插件图标
|
||||
plugin_icon = "mediasyncdel.png"
|
||||
# 插件版本
|
||||
plugin_version = "1.8.6"
|
||||
plugin_version = "1.8.7"
|
||||
# 插件作者
|
||||
plugin_author = "thsrite"
|
||||
# 作者主页
|
||||
@@ -709,6 +709,39 @@ class MediaSyncDel(_PluginBase):
|
||||
season_num=season_num,
|
||||
episode_num=episode_num)
|
||||
|
||||
@eventmanager.register(EventType.PluginAction)
|
||||
def sync_del(self, event: Event = None):
|
||||
"""
|
||||
扫描
|
||||
"""
|
||||
if not self._enabled or not event:
|
||||
return
|
||||
|
||||
event_data = event.event_data
|
||||
if not event_data or event_data.get("action") != "media_sync_del":
|
||||
return
|
||||
|
||||
logger.info(f"收到媒体同步删除请求:{event_data}")
|
||||
# 媒体类型
|
||||
media_type = event_data.get("media_type")
|
||||
# 媒体名称
|
||||
media_name = event_data.get("media_name")
|
||||
# 媒体路径
|
||||
media_path = event_data.get("media_path")
|
||||
# tmdb_id
|
||||
tmdb_id = event_data.get("tmdb_id")
|
||||
# 季数
|
||||
season_num = event_data.get("season_num")
|
||||
# 集数
|
||||
episode_num = event_data.get("episode_num")
|
||||
|
||||
self.__sync_del(media_type=media_type,
|
||||
media_name=media_name,
|
||||
media_path=media_path,
|
||||
tmdb_id=tmdb_id,
|
||||
season_num=season_num,
|
||||
episode_num=episode_num)
|
||||
|
||||
def __sync_del(self, media_type: str, media_name: str, media_path: str,
|
||||
tmdb_id: int, season_num: str, episode_num: str):
|
||||
if not media_type:
|
||||
|
||||
@@ -21,7 +21,7 @@ class CloudSyncDel(_PluginBase):
|
||||
# 插件图标
|
||||
plugin_icon = "clouddisk.png"
|
||||
# 插件版本
|
||||
plugin_version = "1.5.8"
|
||||
plugin_version = "1.5.9"
|
||||
# 插件作者
|
||||
plugin_author = "thsrite"
|
||||
# 作者主页
|
||||
@@ -109,15 +109,15 @@ class CloudSyncDel(_PluginBase):
|
||||
elif Path(local_path).is_file():
|
||||
Path(local_path).unlink() # 删除文件
|
||||
logger.info(f"获取到本地路径 {local_path}, 通知媒体库同步删除插件删除")
|
||||
eventItem = schemas.WebhookEventInfo(event="media_del", channel="emby")
|
||||
eventItem.item_type = media_type
|
||||
eventItem.item_name = media_name
|
||||
eventItem.item_path = local_path
|
||||
eventItem.tmdb_id = tmdb_id
|
||||
eventItem.season_id = season_num
|
||||
eventItem.episode_id = episode_num
|
||||
eventItem.item_isvirtual = "False"
|
||||
self.eventmanager.send_event(EventType.WebhookMessage, eventItem)
|
||||
self.eventmanager.send_event(EventType.PluginAction, {
|
||||
'media_type': media_type,
|
||||
'media_name': media_name,
|
||||
'media_path': local_path,
|
||||
'tmdb_id': tmdb_id,
|
||||
'season_num': season_num,
|
||||
'episode_num': episode_num,
|
||||
'action': 'media_sync_del'
|
||||
})
|
||||
is_local = True
|
||||
else:
|
||||
if Path(local_path).parent.exists():
|
||||
@@ -135,15 +135,15 @@ class CloudSyncDel(_PluginBase):
|
||||
logger.info(f"本地文件 {file} 已删除")
|
||||
if Path(file).suffix in settings.RMT_MEDIAEXT:
|
||||
logger.info(f"获取到本地路径 {file}, 通知媒体库同步删除插件删除")
|
||||
eventItem = schemas.WebhookEventInfo(event="media_del", channel="emby")
|
||||
eventItem.item_type = media_type
|
||||
eventItem.item_name = media_name
|
||||
eventItem.item_path = file
|
||||
eventItem.tmdb_id = tmdb_id
|
||||
eventItem.season_id = season_num
|
||||
eventItem.episode_id = episode_num
|
||||
eventItem.item_isvirtual = "False"
|
||||
self.eventmanager.send_event(EventType.WebhookMessage, eventItem)
|
||||
self.eventmanager.send_event(EventType.PluginAction, {
|
||||
'media_type': media_type,
|
||||
'media_name': media_name,
|
||||
'media_path': str(file),
|
||||
'tmdb_id': tmdb_id,
|
||||
'season_num': season_num,
|
||||
'episode_num': episode_num,
|
||||
'action': 'media_sync_del'
|
||||
})
|
||||
|
||||
# 删除thumb图片
|
||||
thumb_file = Path(local_path).parent / (Path(local_path).stem + "-thumb.jpg")
|
||||
|
||||
Reference in New Issue
Block a user