This commit is contained in:
thsrite 2023-11-01 12:06:05 +08:00
parent 382035768e
commit b4d07cf6ab
4 changed files with 16 additions and 4 deletions

View File

@ -803,6 +803,7 @@ class Emby(metaclass=Singleton):
logger.debug(f"接收到emby webhook{message}")
eventItem = schemas.WebhookEventInfo(event=eventType, channel="emby")
if message.get('Item'):
eventItem.media_type = message.get('Item', {}).get('Type')
if message.get('Item', {}).get('Type') == 'Episode' \
or message.get('Item', {}).get('Type') == 'Series' \
or message.get('Item', {}).get('Type') == 'Season':

View File

@ -466,6 +466,7 @@ class Jellyfin(metaclass=Singleton):
eventItem.device_name = message.get('DeviceName')
eventItem.user_name = message.get('NotificationUsername')
eventItem.client = message.get('ClientName')
eventItem.media_type = message.get('ItemType')
if message.get("ItemType") == "Episode" \
or message.get("ItemType") == "Series" \
or message.get("ItemType") == "Season":

View File

@ -4,7 +4,7 @@ import os
import re
import time
from pathlib import Path
from typing import List, Tuple, Dict, Any, Optional, Union
from typing import List, Tuple, Dict, Any, Optional
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.cron import CronTrigger
@ -506,7 +506,7 @@ class MediaSyncDel(_PluginBase):
return
# 媒体类型
media_type = event_data.item_type
media_type = event_data.media_type
# 媒体名称
media_name = event_data.item_name
# 媒体路径
@ -518,6 +518,11 @@ class MediaSyncDel(_PluginBase):
# 集数
episode_num = event_data.episode_id
# 兼容emby webhook season删除没有发送tmdbid
if not tmdb_id and str(media_type) != 'Season':
logger.error(f"{media_name} 同步删除失败未获取到TMDB ID请检查媒体库媒体是否刮削")
return
self.__sync_del(media_type=media_type,
media_name=media_name,
media_path=media_path,
@ -573,6 +578,10 @@ class MediaSyncDel(_PluginBase):
# 集数
episode_num = event_data.episode_id
if not tmdb_id or not str(tmdb_id).isdigit():
logger.error(f"{media_name} 同步删除失败未获取到TMDB ID请检查媒体库媒体是否刮削")
return
self.__sync_del(media_type=media_type,
media_name=media_name,
media_path=media_path,
@ -581,7 +590,7 @@ class MediaSyncDel(_PluginBase):
episode_num=episode_num)
def __sync_del(self, media_type: str, media_name: str, media_path: str,
tmdb_id: Union[int, str], season_num: str, episode_num: str):
tmdb_id: int, season_num: str, episode_num: str):
"""
执行删除逻辑
"""
@ -721,7 +730,7 @@ class MediaSyncDel(_PluginBase):
self.save_data("history", history)
def __get_transfer_his(self, media_type: str, media_name: str, media_path: str,
tmdb_id: Union[int, str], season_num: str, episode_num: str):
tmdb_id: int, season_num: str, episode_num: str):
"""
查询转移记录
"""

View File

@ -138,3 +138,4 @@ class WebhookEventInfo(BaseModel):
item_favorite: Optional[bool] = None
save_reason: Optional[str] = None
item_isvirtual: Optional[bool] = None
media_type: Optional[str] = None