From: Marcel van der Veldt Date: Fri, 22 Jul 2022 14:32:19 +0000 (+0200) Subject: return full provider item in versions X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=3b489119cbae701d816b8fc02ee8027dfefdd9a7;p=music-assistant-server.git return full provider item in versions --- diff --git a/music_assistant/controllers/music/tracks.py b/music_assistant/controllers/music/tracks.py index d8df400d..ee5a46ca 100644 --- a/music_assistant/controllers/music/tracks.py +++ b/music_assistant/controllers/music/tracks.py @@ -88,11 +88,11 @@ class TracksController(MediaControllerBase[Track]): for prov_version in track.provider_ids: if prov_version.item_id in all_versions: continue - track_copy = Track.from_dict(track.to_dict()) - track_copy.item_id = prov_version.item_id - track_copy.provider = prov_version.prov_type - track_copy.provider_ids = {prov_version} - all_versions[prov_version.item_id] = track_copy + # grab full item here including album details etc + prov_track = await self.get_provider_item( + prov_version.item_id, prov_version.prov_id + ) + all_versions[prov_version.item_id] = prov_track # return the aggregated result return all_versions.values() @@ -268,10 +268,10 @@ class TracksController(MediaControllerBase[Track]): """Extract all (unique) albums of track as TrackAlbumMapping.""" track_albums: List[TrackAlbumMapping] = [] # existing TrackAlbumMappings are starting point - if upd_track and upd_track.albums: - track_albums = upd_track.albums - elif base_track.albums: + if base_track.albums: track_albums = base_track.albums + elif upd_track and upd_track.albums: + track_albums = upd_track.albums # append update item album if needed if upd_track and upd_track.album: mapping = await self._get_album_mapping(