From: Marcel van der Veldt Date: Sat, 15 Jun 2024 07:23:38 +0000 (+0200) Subject: Prevent duplicate album tracks X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=305c7d1c4ccd34870ead13c01b202ed73a4612d0;p=music-assistant-server.git Prevent duplicate album tracks --- diff --git a/music_assistant/server/controllers/media/albums.py b/music_assistant/server/controllers/media/albums.py index 22d337ed..2bf851f5 100644 --- a/music_assistant/server/controllers/media/albums.py +++ b/music_assistant/server/controllers/media/albums.py @@ -164,11 +164,15 @@ class AlbumsController(MediaControllerBase[Album]): return sorted(db_items, key=lambda x: (x.disc_number, x.track_number)) # return all (unique) items from all providers unique_ids: set[str] = {f"{x.disc_number or 1}.{x.track_number}" for x in db_items} + for db_item in db_items: + unique_ids.add(x.item_id for x in db_item.provider_mappings) for provider_mapping in library_album.provider_mappings: provider_tracks = await self._get_provider_album_tracks( provider_mapping.item_id, provider_mapping.provider_instance ) for provider_track in provider_tracks: + if provider_track.item_id in unique_ids: + continue unique_id = f"{provider_track.disc_number or 1}.{provider_track.track_number}" if unique_id in unique_ids: continue