def show_top_tracks(artist_name): # default: top10 tracks_list = [] artist = get_artist(artist_name) results = spotify.artist_top_tracks(artist['uri']) for track in results['tracks']: playlist = Playlist(name=track['name'], uri=track['uri'], image=track['album']['images'][1]['url']) tracks_list.append(playlist.to_dict()) return {'playlists': tracks_list}
def show_playlist(): username = spotify_username() playlists = spotify.user_playlists(username) playlists_list = [] for playlist in playlists['items']: # print(playlist) if playlist['images'] == []: play_list = Playlist(name=playlist['name'], uri=playlist['uri'], total=playlist['tracks']['total']) else: play_list = Playlist(name=playlist['name'], uri=playlist['uri'], total=playlist['tracks']['total'], image=playlist['images'][2]['url']) playlists_list.append(play_list.to_dict()) return {'playlists': playlists_list}
def show_artist_albums(artist_name): albums_list = [] albums = [] artist = get_artist(artist_name) results = spotify.artist_albums(artist['id'], album_type='album') albums.extend(results['items']) while results['next']: results = spotify.next(results) albums.extend(results['items']) seen = set() # to avoid dups albums.sort(key=lambda album: album['name'].lower()) for album in albums: name = album['name'] if name not in seen: playlist = Playlist(name=name, uri=album['uri'], image=album['images'][2]['url'], total=album['total_tracks']) albums_list.append(playlist.to_dict()) seen.add(name) return {'playlists': albums_list}