From: Eric Munson Date: Sat, 6 Jul 2024 08:51:27 +0000 (-0400) Subject: Protect artist retrieval in Subsonic get_artist_toptracks() (#1454) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=ee080822b60b34d54d4014686031d0f3a663f3a7;p=music-assistant-server.git Protect artist retrieval in Subsonic get_artist_toptracks() (#1454) --- diff --git a/music_assistant/server/providers/opensubsonic/sonic_provider.py b/music_assistant/server/providers/opensubsonic/sonic_provider.py index 438b7e20..28de9ceb 100644 --- a/music_assistant/server/providers/opensubsonic/sonic_provider.py +++ b/music_assistant/server/providers/opensubsonic/sonic_provider.py @@ -681,7 +681,11 @@ class OpenSonicProvider(MusicProvider): async def get_artist_toptracks(self, prov_artist_id: str) -> list[Track]: """Get the top listed tracks for a specified artist.""" - sonic_artist: SonicArtist = await self._run_async(self._conn.getArtist, prov_artist_id) + try: + sonic_artist: SonicArtist = await self._run_async(self._conn.getArtist, prov_artist_id) + except DataNotFoundError as e: + msg = f"Artist {prov_artist_id} not found" + raise MediaNotFoundError(msg) from e songs: list[SonicSong] = await self._run_async(self._conn.getTopSongs, sonic_artist.name) return [self._parse_track(entry) for entry in songs]