From a4bf0f69c08d33d271fae8d237e85a7e747e7258 Mon Sep 17 00:00:00 2001 From: localhost_frssoft Date: Wed, 9 Nov 2022 14:47:38 +0300 Subject: [PATCH] Loading all artist tracks in cycle --- src/fw_artists.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/fw_artists.py b/src/fw_artists.py index 4971f9b..6fa6e41 100644 --- a/src/fw_artists.py +++ b/src/fw_artists.py @@ -35,11 +35,21 @@ def list_artists(pg=None, search=None): def play_artist(artist_id): - tracks = get_tracks(artist=artist_id, include_channels=True) - tracks_results = tracks.get('results') + tracks = get_tracks(artist=artist_id, include_channels=True, pg=None) + tracks_next = tracks.get('next') + tracks_count = tracks.get('count') storage = {} - for i in tracks_results: - listen_url = concatinate_endpoint(i.get('listen_url')) - storage[listen_url] = i - player.loadfile(listen_url, 'append-play') + if tracks_count > 50: + print(f'Loading {tracks_count} tracks...') + while True: + tracks_results = tracks.get('results') + tracks_next = tracks.get('next') + for i in tracks_results: + listen_url = concatinate_endpoint(i.get('listen_url')) + storage[listen_url] = i + player.loadfile(listen_url, 'append-play') + if tracks_next: + tracks = get_tracks(artist=artist_id, include_channels=True, pg=tracks_next) + else: + break player_menu("Artist playing...", storage)