From d0353c5ac37c8c847f2b468c3c8c04d4e1057a93 Mon Sep 17 00:00:00 2001 From: Jozef Kruszynski <60214390+jozefKruszynski@users.noreply.github.com> Date: Thu, 17 Aug 2023 13:47:14 +0100 Subject: [PATCH] Fix similar tracks function (#848) * Fix similar tracks function * Fix lint issues --------- Co-authored-by: jkruszynski --- music_assistant/server/providers/tidal/__init__.py | 5 +++-- music_assistant/server/providers/tidal/helpers.py | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/music_assistant/server/providers/tidal/__init__.py b/music_assistant/server/providers/tidal/__init__.py index a3869c2b..177cf087 100644 --- a/music_assistant/server/providers/tidal/__init__.py +++ b/music_assistant/server/providers/tidal/__init__.py @@ -310,13 +310,14 @@ class TidalProvider(MusicProvider): ) yield track - async def get_similar_tracks(self, prov_track_id: str, limit=25) -> list[Track]: + async def get_similar_tracks(self, prov_track_id: str, limit=25) -> list[Track]: # noqa: ARG002 """Get similar tracks for given track id.""" tidal_session = await self._get_tidal_session() async with self._throttler: return [ await self._parse_track(track_obj=track) - for track in await get_similar_tracks(tidal_session, prov_track_id, limit) + # Re-add limit here after tidalapi supports it, and remove noqa above + for track in await get_similar_tracks(tidal_session, prov_track_id) ] async def library_add(self, prov_item_id: str, media_type: MediaType): diff --git a/music_assistant/server/providers/tidal/helpers.py b/music_assistant/server/providers/tidal/helpers.py index 7d699353..86d90e22 100644 --- a/music_assistant/server/providers/tidal/helpers.py +++ b/music_assistant/server/providers/tidal/helpers.py @@ -261,12 +261,13 @@ async def create_playlist( return await asyncio.to_thread(inner) -async def get_similar_tracks(session: TidalSession, prov_track_id, limit: int) -> list[TidalTrack]: +async def get_similar_tracks(session: TidalSession, prov_track_id) -> list[TidalTrack]: """Async wrapper around the tidal Track.get_similar_tracks function.""" def inner() -> list[TidalTrack]: try: - return TidalTrack(session, prov_track_id).get_track_radio(limit) + # Re-add limit here after tidalapi supports it + return TidalTrack(session, prov_track_id).get_track_radio() except HTTPError as err: if err.response.status_code == 404: raise MediaNotFoundError(f"Track {prov_track_id} not found") from err -- 2.34.1