From: Marcel van der Veldt Date: Tue, 16 Dec 2025 08:01:39 +0000 (+0100) Subject: Fix random album playlist X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=9ddb70bd6645ea56a560c6ae8d88611048305e74;p=music-assistant-server.git Fix random album playlist --- diff --git a/music_assistant/providers/builtin/__init__.py b/music_assistant/providers/builtin/__init__.py index 6e98e4cb..82f3324c 100644 --- a/music_assistant/providers/builtin/__init__.py +++ b/music_assistant/providers/builtin/__init__.py @@ -554,19 +554,15 @@ class BuiltinProvider(MusicProvider): @use_cache(expiration=3600, category=CACHE_CATEGORY_PLAYLISTS) async def _get_builtin_playlist_random_album(self) -> list[Track]: - for in_library_only in (True, False): - for min_tracks_required in (10, 5, 1): - for random_album in await self.mass.music.albums.library_items( - limit=25, order_by="random" - ): - tracks = await self.mass.music.albums.tracks( - random_album.item_id, random_album.provider, in_library_only=in_library_only - ) - if len(tracks) < min_tracks_required: - continue - for idx, track in enumerate(tracks, 1): - track.position = idx - return tracks + for random_album in await self.mass.music.albums.library_items( + limit=1, order_by="random", extra_query="album_type != 'single'" + ): + tracks = await self.mass.music.albums.tracks( + random_album.item_id, random_album.provider + ) + for idx, track in enumerate(tracks, 1): + track.position = idx + return tracks return [] @use_cache(expiration=3600, category=CACHE_CATEGORY_PLAYLISTS)