Jellyfin: Don't fail entire sync if artist mbid is corrupt (#1332)
authorJc2k <john.carr@unrouted.co.uk>
Sun, 9 Jun 2024 12:32:20 +0000 (13:32 +0100)
committerGitHub <noreply@github.com>
Sun, 9 Jun 2024 12:32:20 +0000 (14:32 +0200)
music_assistant/server/providers/jellyfin/__init__.py

index 0d133f9dcdb2dcede0bb48daf2239a094226b605..500ba369566af87b4bc1be280d050d383537dad3 100644 (file)
@@ -365,7 +365,14 @@ class JellyfinProvider(MusicProvider):
         if ITEM_KEY_OVERVIEW in current_artist:\r
             artist.metadata.description = current_artist[ITEM_KEY_OVERVIEW]\r
         if ITEM_KEY_MUSICBRAINZ_ARTIST in current_artist[ITEM_KEY_PROVIDER_IDS]:\r
-            artist.mbid = current_artist[ITEM_KEY_PROVIDER_IDS][ITEM_KEY_MUSICBRAINZ_ARTIST]\r
+            try:\r
+                artist.mbid = current_artist[ITEM_KEY_PROVIDER_IDS][ITEM_KEY_MUSICBRAINZ_ARTIST]\r
+            except InvalidDataError as error:\r
+                self.logger.warning(\r
+                    "Jellyfin has an invalid musicbrainz id for artist %s",\r
+                    artist.name,\r
+                    exc_info=error if self.logger.isEnabledFor(logging.DEBUG) else None,\r
+                )\r
         if ITEM_KEY_SORT_NAME in current_artist:\r
             artist.sort_name = current_artist[ITEM_KEY_SORT_NAME]\r
         if thumb := self._get_thumbnail_url(self._jellyfin_server, jellyfin_artist):\r