From c07e12cc5a628329da15fc9490f49847229a023e Mon Sep 17 00:00:00 2001 From: thsrite Date: Tue, 31 Oct 2023 15:37:39 +0800 Subject: [PATCH 1/3] fix webhook --- app/modules/emby/emby.py | 6 ++++-- app/modules/jellyfin/jellyfin.py | 12 +++++++----- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/modules/emby/emby.py b/app/modules/emby/emby.py index 32990a86..344ba877 100644 --- a/app/modules/emby/emby.py +++ b/app/modules/emby/emby.py @@ -244,7 +244,7 @@ class Emby(metaclass=Singleton): "&Limit=10" "&IncludeSearchTypes=false" "&api_key=%s") % ( - self._host, name, self._apikey) + self._host, name, self._apikey) try: res = RequestUtils().get_res(req_url) if res: @@ -803,7 +803,9 @@ class Emby(metaclass=Singleton): logger.debug(f"接收到emby webhook:{message}") eventItem = schemas.WebhookEventInfo(event=eventType, channel="emby") if message.get('Item'): - if message.get('Item', {}).get('Type') == 'Episode': + if message.get('Item', {}).get('Type') == 'Episode' \ + or message.get('Item', {}).get('Type') == 'Series' \ + or message.get('Item', {}).get('Type') == 'Season': eventItem.item_type = "TV" if message.get('Item', {}).get('SeriesName') \ and message.get('Item', {}).get('ParentIndexNumber') \ diff --git a/app/modules/jellyfin/jellyfin.py b/app/modules/jellyfin/jellyfin.py index 3bd87ac9..aade1704 100644 --- a/app/modules/jellyfin/jellyfin.py +++ b/app/modules/jellyfin/jellyfin.py @@ -212,7 +212,7 @@ class Jellyfin(metaclass=Singleton): return None req_url = ("%sUsers/%s/Items?" "api_key=%s&searchTerm=%s&IncludeItemTypes=Series&Limit=10&Recursive=true") % ( - self._host, self.user, self._apikey, name) + self._host, self.user, self._apikey, name) try: res = RequestUtils().get_res(req_url) if res: @@ -227,8 +227,8 @@ class Jellyfin(metaclass=Singleton): return None return "" - def get_movies(self, - title: str, + def get_movies(self, + title: str, year: str = None, tmdb_id: int = None) -> Optional[List[schemas.MediaServerItem]]: """ @@ -242,7 +242,7 @@ class Jellyfin(metaclass=Singleton): return None req_url = ("%sUsers/%s/Items?" "api_key=%s&searchTerm=%s&IncludeItemTypes=Movie&Limit=10&Recursive=true") % ( - self._host, self.user, self._apikey, title) + self._host, self.user, self._apikey, title) try: res = RequestUtils().get_res(req_url) if res: @@ -466,7 +466,9 @@ class Jellyfin(metaclass=Singleton): eventItem.device_name = message.get('DeviceName') eventItem.user_name = message.get('NotificationUsername') eventItem.client = message.get('ClientName') - if message.get("ItemType") == "Episode": + if message.get("ItemType") == "Episode" \ + or message.get("ItemType") == "Series" \ + or message.get("ItemType") == "Season": # 剧集 eventItem.item_type = "TV" eventItem.season_id = message.get('SeasonNumber') From 099dcda1855b7636299b80aa14423e0f11d0d28b Mon Sep 17 00:00:00 2001 From: thsrite Date: Tue, 31 Oct 2023 16:33:48 +0800 Subject: [PATCH 2/3] fix webhook --- app/modules/emby/emby.py | 4 +++- app/plugins/mediasyncdel/__init__.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/modules/emby/emby.py b/app/modules/emby/emby.py index 344ba877..7a2285f1 100644 --- a/app/modules/emby/emby.py +++ b/app/modules/emby/emby.py @@ -816,7 +816,9 @@ class Emby(metaclass=Singleton): "E" + str(message.get('Item', {}).get('IndexNumber')), message.get('Item', {}).get('Name')) else: - eventItem.item_name = message.get('Item', {}).get('Name') + eventItem.item_name = "%s %s" % ( + message.get('Item', {}).get('SeriesName'), + message.get('Item', {}).get('Name')) eventItem.item_id = message.get('Item', {}).get('SeriesId') eventItem.season_id = message.get('Item', {}).get('ParentIndexNumber') eventItem.episode_id = message.get('Item', {}).get('IndexNumber') diff --git a/app/plugins/mediasyncdel/__init__.py b/app/plugins/mediasyncdel/__init__.py index fda8481d..48ca2ca0 100644 --- a/app/plugins/mediasyncdel/__init__.py +++ b/app/plugins/mediasyncdel/__init__.py @@ -729,12 +729,12 @@ class MediaSyncDel(_PluginBase): 查询转移记录 """ # 季数 - if season_num and season_num.isdigit(): + if season_num and str(season_num).isdigit(): season_num = str(season_num).rjust(2, '0') else: season_num = None # 集数 - if episode_num and episode_num.isdigit(): + if episode_num and str(episode_num).isdigit(): episode_num = str(episode_num).rjust(2, '0') else: episode_num = None From 45fb8e86bfdc1cb1c260c25388c42a03e96f3040 Mon Sep 17 00:00:00 2001 From: thsrite Date: Tue, 31 Oct 2023 16:39:20 +0800 Subject: [PATCH 3/3] fix webhook --- app/modules/emby/emby.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/modules/emby/emby.py b/app/modules/emby/emby.py index 7a2285f1..4435f6c1 100644 --- a/app/modules/emby/emby.py +++ b/app/modules/emby/emby.py @@ -815,10 +815,12 @@ class Emby(metaclass=Singleton): "S" + str(message.get('Item', {}).get('ParentIndexNumber')), "E" + str(message.get('Item', {}).get('IndexNumber')), message.get('Item', {}).get('Name')) - else: + elif message.get('Item', {}).get('SeriesName'): eventItem.item_name = "%s %s" % ( message.get('Item', {}).get('SeriesName'), message.get('Item', {}).get('Name')) + else: + eventItem.item_name = message.get('Item', {}).get('Name') eventItem.item_id = message.get('Item', {}).get('SeriesId') eventItem.season_id = message.get('Item', {}).get('ParentIndexNumber') eventItem.episode_id = message.get('Item', {}).get('IndexNumber')