diff --git a/app/modules/emby/emby.py b/app/modules/emby/emby.py index 32990a86..4435f6c1 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') \ @@ -813,6 +815,10 @@ class Emby(metaclass=Singleton): "S" + str(message.get('Item', {}).get('ParentIndexNumber')), "E" + str(message.get('Item', {}).get('IndexNumber')), message.get('Item', {}).get('Name')) + 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') 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') 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