From ee080822b60b34d54d4014686031d0f3a663f3a7 Mon Sep 17 00:00:00 2001 From: Eric Munson Date: Sat, 6 Jul 2024 04:51:27 -0400 Subject: [PATCH] Protect artist retrieval in Subsonic get_artist_toptracks() (#1454) --- .../server/providers/opensubsonic/sonic_provider.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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] -- 2.34.1