From b6c60a9e55c20c96442b0717b48a86c17ab0af22 Mon Sep 17 00:00:00 2001 From: Marvin Schenkel Date: Sat, 6 Jul 2024 14:08:03 +0200 Subject: [PATCH] Apple Music: Ensure Albums have an artist for custom music. (#1457) Ensure Albums have an artist for custom music. --- .../server/providers/apple_music/__init__.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/music_assistant/server/providers/apple_music/__init__.py b/music_assistant/server/providers/apple_music/__init__.py index a503ad7c..5fe18297 100644 --- a/music_assistant/server/providers/apple_music/__init__.py +++ b/music_assistant/server/providers/apple_music/__init__.py @@ -204,8 +204,8 @@ class AppleMusicProvider(MusicProvider): if not catalog_id: self.logger.warning( "Skipping track. No catalog version found for %s - %s", - item["attributes"]["artistName"], - item["attributes"]["name"], + item["attributes"].get("artistName", ""), + item["attributes"].get("name", ""), ) continue song_catalog_ids.append(catalog_id) @@ -442,6 +442,15 @@ class AppleMusicProvider(MusicProvider): ) if artists := relationships.get("artists"): album.artists = [self._parse_artist(artist) for artist in artists["data"]] + elif artist_name := attributes.get("artistName"): + album.artists = [ + ItemMapping( + media_type=MediaType.ARTIST, + provider=self.instance_id, + item_id=artist_name, + name=artist_name, + ) + ] if release_date := attributes.get("releaseDate"): album.year = int(release_date.split("-")[0]) if genres := attributes.get("genreNames"): @@ -514,13 +523,13 @@ class AppleMusicProvider(MusicProvider): artists = relationships["artists"] track.artists = [self._parse_artist(artist) for artist in artists["data"]] # 'Similar tracks' do not provide full artist details - elif artist := attributes.get("artistName"): + elif artist_name := attributes.get("artistName"): track.artists = [ ItemMapping( media_type=MediaType.ARTIST, - item_id=artist, + item_id=artist_name, provider=self.instance_id, - name=artist, + name=artist_name, ) ] if albums := relationships.get("albums"): -- 2.34.1