From eece3e97fd9a371c96ff3e6b239a8e63edfbf36d Mon Sep 17 00:00:00 2001 From: Broque Thomas Date: Tue, 11 Nov 2025 12:38:45 -0800 Subject: [PATCH] Update web_server.py --- web_server.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/web_server.py b/web_server.py index ecc12a1c..48eedeee 100644 --- a/web_server.py +++ b/web_server.py @@ -14503,9 +14503,23 @@ def get_discover_release_radar(): print(f"Error getting tracks for album {album['album_name']}: {e}") continue - # Randomly select up to 50 tracks - random.shuffle(all_tracks) - selected_tracks = all_tracks[:50] + # Group tracks by artist to ensure variety + tracks_by_artist = {} + for track in all_tracks: + artist_name = track['artist_name'] + if artist_name not in tracks_by_artist: + tracks_by_artist[artist_name] = [] + tracks_by_artist[artist_name].append(track) + + # Limit each artist to max 6 tracks for variety + balanced_tracks = [] + for artist_name, tracks in tracks_by_artist.items(): + random.shuffle(tracks) + balanced_tracks.extend(tracks[:6]) # Max 6 tracks per artist + + # Randomly select up to 50 tracks from balanced pool + random.shuffle(balanced_tracks) + selected_tracks = balanced_tracks[:50] return jsonify({"success": True, "tracks": selected_tracks})