Skip to content

Commit 8d18a1b

Browse files
committed
Fix logic change
1 parent c2b119d commit 8d18a1b

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

music_assistant/controllers/media/tracks.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -597,7 +597,6 @@ async def _set_track_artist(
597597
) -> ItemMapping:
598598
"""Store Track Artist info."""
599599
db_artist: Artist | ItemMapping | None = None
600-
601600
if artist.provider == "library":
602601
db_artist = artist
603602
elif existing := await self.mass.music.artists.get_library_item_by_prov_id(
@@ -606,14 +605,13 @@ async def _set_track_artist(
606605
db_artist = existing
607606

608607
if not db_artist or overwrite:
609-
# ensure we pass only Artist to add_item_to_library
610-
if isinstance(artist, Artist):
608+
if isinstance(artist, ItemMapping):
609+
# Can't add ItemMapping to library, use existing or artist itself
610+
db_artist = db_artist or artist
611+
else:
611612
db_artist = await self.mass.music.artists.add_item_to_library(
612613
artist, overwrite_existing=overwrite
613614
)
614-
else:
615-
raise InvalidDataError("Cannot add ItemMapping as a library artist")
616-
617615
# write (or update) record in album_artists table
618616
assert self.mass.music.database is not None
619617
await self.mass.music.database.insert_or_replace(
@@ -623,5 +621,4 @@ async def _set_track_artist(
623621
"artist_id": int(db_artist.item_id),
624622
},
625623
)
626-
627624
return ItemMapping.from_item(db_artist)

0 commit comments

Comments
 (0)