From: John Carr Date: Tue, 25 Jun 2024 08:04:12 +0000 (+0100) Subject: Jellyfin: Implement get_similar_tracks X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=5148673955d8b2029024ca4d7c83deea88c8f886;p=music-assistant-server.git Jellyfin: Implement get_similar_tracks --- diff --git a/music_assistant/server/providers/jellyfin/__init__.py b/music_assistant/server/providers/jellyfin/__init__.py index 44387442..61856e7f 100644 --- a/music_assistant/server/providers/jellyfin/__init__.py +++ b/music_assistant/server/providers/jellyfin/__init__.py @@ -166,6 +166,7 @@ class JellyfinProvider(MusicProvider): ProviderFeature.BROWSE, ProviderFeature.SEARCH, ProviderFeature.ARTIST_ALBUMS, + ProviderFeature.SIMILAR_TRACKS, ) @property @@ -486,6 +487,12 @@ class JellyfinProvider(MusicProvider): path=url, ) + async def get_similar_tracks(self, prov_track_id, limit=25) -> list[Track]: + """Retrieve a dynamic list of tracks based on the provided item.""" + resp = await self._client.get_similar_tracks(prov_track_id, limit=limit) + print("get_similar_tracks", [track["Name"] for track in resp["Items"]]) + return [parse_track(self.logger, self.instance_id, self._client, track) for track in resp["Items"]] + async def _get_music_libraries(self) -> list[JellyMediaLibrary]: """Return all supported libraries a user has access to.""" response = await self._client.get_media_folders() diff --git a/music_assistant/server/providers/jellyfin/manifest.json b/music_assistant/server/providers/jellyfin/manifest.json index 74714c7a..27cd9827 100644 --- a/music_assistant/server/providers/jellyfin/manifest.json +++ b/music_assistant/server/providers/jellyfin/manifest.json @@ -4,7 +4,7 @@ "name": "Jellyfin Media Server Library", "description": "Support for the Jellyfin streaming provider in Music Assistant.", "codeowners": ["@lokiberra", "@Jc2k"], - "requirements": ["aiojellyfin==0.8.3"], + "requirements": ["aiojellyfin==0.9.0"], "documentation": "https://music-assistant.io/music-providers/jellyfin/", "multi_instance": true } diff --git a/requirements_all.txt b/requirements_all.txt index b5e39046..49c6a98f 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -4,7 +4,7 @@ Brotli>=1.0.9 aiodns>=3.0.0 aiofiles==24.1.0 aiohttp==3.9.5 -aiojellyfin==0.8.3 +aiojellyfin==0.9.0 aiorun==2024.5.1 aioslimproto==3.0.1 aiosqlite==0.20.0