Fix search of artist in YTM. (#599)
authorMarvin Schenkel <marvinschenkel@gmail.com>
Fri, 31 Mar 2023 18:38:00 +0000 (20:38 +0200)
committerGitHub <noreply@github.com>
Fri, 31 Mar 2023 18:38:00 +0000 (20:38 +0200)
music_assistant/server/providers/ytmusic/helpers.py

index 6f6d8c25bfe1246cecf414cbd986a34501e23af4..23b0f177b8516836b9a69b055ee2a6d434f57c4c 100644 (file)
@@ -243,10 +243,15 @@ async def search(query: str, ytm_filter: str = None, limit: int = 20) -> list[di
         # Sync result properties with uniformal objects
         for result in results:
             if result["resultType"] == "artist":
-                result["id"] = result["browseId"]
-                result["name"] = result["artist"]
-                del result["browseId"]
-                del result["artist"]
+                if "artists" in result and len(result["artists"]) > 0:
+                    result["id"] = result["artists"][0]["id"]
+                    result["name"] = result["artists"][0]["name"]
+                    del result["artists"]
+                else:
+                    result["id"] = result["browseId"]
+                    result["name"] = result["artist"]
+                    del result["browseId"]
+                    del result["artist"]
             elif result["resultType"] == "playlist":
                 if "playlistId" in result:
                     result["id"] = result["playlistId"]