Better handling of Jellyfin metadata missing (#1253)
authorlokiberra <33937467+lokiberra@users.noreply.github.com>
Mon, 6 May 2024 10:48:16 +0000 (06:48 -0400)
committerGitHub <noreply@github.com>
Mon, 6 May 2024 10:48:16 +0000 (12:48 +0200)
music_assistant/server/providers/jellyfin/__init__.py
music_assistant/server/providers/jellyfin/const.py

index 4028bce895090c0aab4524d3644d01fbf26945a0..41b4a8fafdd6b304f68397e5e9a0e74ba6e2349c 100644 (file)
@@ -84,6 +84,7 @@ from .const import (
     ITEM_TYPE_ALBUM,\r
     ITEM_TYPE_ARTIST,\r
     ITEM_TYPE_AUDIO,\r
+    ITEM_TYPE_MUSICARTISTS,\r
     MAX_IMAGE_WIDTH,\r
     SUPPORTED_CONTAINER_FORMATS,\r
     USER_APP_NAME,\r
@@ -469,6 +470,15 @@ class JellyfinProvider(MusicProvider):
                 current_jellyfin_track[ITEM_KEY_PARENT_ID],\r
                 current_jellyfin_track[ITEM_KEY_ALBUM],\r
             )\r
+        elif ITEM_KEY_PARENT_ID in current_jellyfin_track:\r
+            parent_album = API.get_item(\r
+                self._jellyfin_server.jellyfin, current_jellyfin_track[ITEM_KEY_PARENT_ID]\r
+            )\r
+            track.album = self._get_item_mapping(\r
+                MediaType.ALBUM,\r
+                parent_album[ITEM_KEY_ID],\r
+                parent_album[ITEM_KEY_NAME],\r
+            )\r
         if ITEM_KEY_PARENT_INDEX_NUM in current_jellyfin_track:\r
             track.disc_number = current_jellyfin_track[ITEM_KEY_PARENT_INDEX_NUM]\r
         if ITEM_KEY_RUNTIME_TICKS in current_jellyfin_track:\r
@@ -748,8 +758,11 @@ class JellyfinProvider(MusicProvider):
         params = {\r
             "Recursive": "true",\r
             ITEM_KEY_PARENT_ID: parent_id,\r
-            "IncludeItemTypes": item_type,\r
         }\r
+        if item_type in ITEM_TYPE_ARTIST:\r
+            params["IncludeItemTypes"] = [ITEM_TYPE_MUSICARTISTS, ITEM_TYPE_ARTIST]\r
+        else:\r
+            params["IncludeItemTypes"] = item_type\r
         if item_type in ITEM_TYPE_AUDIO:\r
             params["Fields"] = ITEM_KEY_MEDIA_SOURCES\r
 \r
index 677af9694a83801aee58dbfdff573f466a84d51b..b2197e72fd51cfe337b795e57d48d6536f38f142 100644 (file)
@@ -41,6 +41,7 @@ ITEM_KEY_RUNTIME_TICKS: Final = "RunTimeTicks"
 \r
 ITEM_TYPE_ALBUM: Final = "MusicAlbum"\r
 ITEM_TYPE_ARTIST: Final = "MusicArtist"\r
+ITEM_TYPE_MUSICARTISTS: Final = "MusicArtists"\r
 ITEM_TYPE_AUDIO: Final = "Audio"\r
 ITEM_TYPE_LIBRARY: Final = "CollectionFolder"\r
 \r