Subsonic: Fix: Only lookup album for track when an id exists (#2167)
authorEric Munson <eric@munsonfam.org>
Sun, 4 May 2025 18:31:18 +0000 (14:31 -0400)
committerGitHub <noreply@github.com>
Sun, 4 May 2025 18:31:18 +0000 (20:31 +0200)
We are unconditionally looking up an album regardless of if one exists.
Only do that work when we have an ID to lookup.

Signed-off-by: Eric B Munson <eric@munsonfam.org>
music_assistant/providers/opensubsonic/sonic_provider.py

index b61517d08b22f2ed001b30d8c1dad7643db16f28..8afabe5621c1c59e9736a7fea4470936058de9aa 100644 (file)
@@ -581,9 +581,11 @@ class OpenSonicProvider(MusicProvider):
             msg = f"Item {prov_track_id} not found"
             raise MediaNotFoundError(msg) from e
         aid = sonic_song.album_id if sonic_song.album_id else sonic_song.parent
+        album: Album | None = None
         if not aid:
             self.logger.warning("Unable to find album id for track %s", sonic_song.id)
-        album: Album = await self.get_album(prov_album_id=aid)
+        else:
+            album = await self.get_album(prov_album_id=aid)
         return self._parse_track(sonic_song, album=album)
 
     async def get_artist_albums(self, prov_artist_id: str) -> list[Album]: