diff --git a/app/modules/emby/emby.py b/app/modules/emby/emby.py index d43edb2b..6ea1423d 100644 --- a/app/modules/emby/emby.py +++ b/app/modules/emby/emby.py @@ -591,6 +591,14 @@ class Emby(metaclass=Singleton): eventItem.client = message.get('Session').get('Client') if message.get("User"): eventItem.user_name = message.get("User").get('Name') + if message.get("item_isvirtual"): + eventItem.item_isvirtual = message.get("item_isvirtual") + eventItem.item_type = message.get("item_type") + eventItem.item_name = message.get("item_name") + eventItem.item_path = message.get("item_path") + eventItem.tmdb_id = message.get("tmdb_id") + eventItem.season_id = message.get("season_id") + eventItem.episode_id = message.get("episode_id") # 获取消息图片 if eventItem.item_id: diff --git a/app/plugins/mediasyncdel/__init__.py b/app/plugins/mediasyncdel/__init__.py index bd5838f4..a01297e2 100644 --- a/app/plugins/mediasyncdel/__init__.py +++ b/app/plugins/mediasyncdel/__init__.py @@ -391,12 +391,12 @@ class MediaSyncDel(_PluginBase): if not self._enabled: return event_data = event.event_data - event_type = event_data.get("event_type") + event_type = event_data.event if not event_type or str(event_type) != 'media_del': return # 是否虚拟标识 - item_isvirtual = event_data.get("item_isvirtual") + item_isvirtual = event_data.item_isvirtual if not item_isvirtual: logger.error("item_isvirtual参数未配置,为防止误删除,暂停插件运行") self.update_config({ @@ -417,24 +417,24 @@ class MediaSyncDel(_PluginBase): history = self.get_data('history') or [] # 媒体类型 - media_type = event_data.get("media_type") + media_type = event_data.item_type # 媒体名称 - media_name = event_data.get("media_name") + media_name = event_data.item_name # 媒体路径 - media_path = event_data.get("media_path") + media_path = event_data.item_path # tmdb_id - tmdb_id = event_data.get("tmdb_id") + tmdb_id = event_data.tmdb_id # 季数 - season_num = event_data.get("season_num") + season_num = event_data.season_id if season_num and str(season_num).isdigit() and int(season_num) < 10: season_num = f'S0{season_num}' - else: + elif season_num: season_num = f'S{season_num}' # 集数 - episode_num = event_data.get("episode_num") + episode_num = event_data.episode_id if episode_num and str(episode_num).isdigit() and int(episode_num) < 10: episode_num = f'E0{episode_num}' - else: + elif episode_num: episode_num = f'E{episode_num}' if not media_type: diff --git a/app/schemas/mediaserver.py b/app/schemas/mediaserver.py index fa45d8cc..0f8ff8a4 100644 --- a/app/schemas/mediaserver.py +++ b/app/schemas/mediaserver.py @@ -133,3 +133,4 @@ class WebhookEventInfo(BaseModel): image_url: Optional[str] = None item_favorite: Optional[bool] = None save_reason: Optional[str] = None + item_isvirtual: Optional[bool] = None