def load_playlist_file(self, playlist, spotipy=None): """ :param playlist: :param spotipy: :return: """ if spotipy is None: spotipy = self.login_spotipy(self.spotipyid, self.spotipysecret) all_tracks = [] if os.path.isfile(playlist) and not self.loaded_playlist: with open(playlist) as fp: lines = fp.read().split( "\n") # Create a list containing all lines for link in lines: username = self.get_username_id(link) playlist_id = self.get_playlist_id(link) print(username, spotipy.user_playlist(username, playlist_id)['name']) tracks = self.tracks_playlist(spotipy, username, playlist_id) for track in tracks: all_tracks.append(track) self.loaded_playlist = all_tracks return self.loaded_playlist
def get_user_playlists(spotipy): ''' Returns set of all artists found within the current Spotify user's playlists. ''' def show_tracks(results): ''' helper function for get_user_playlists() ''' for i, item in enumerate(tracks['items']): track = item['track'] playlist_artists_list.append(track['artists'][0]['name']) playlist_artists_list = [] offset = 0 user_id = spotipy.current_user()['id'] playlists = spotipy.user_playlists(user_id) for playlist in playlists['items']: owner = playlist['owner']['id'] results = spotipy.user_playlist(owner, playlist['id'], fields="tracks,next") tracks = results['tracks'] show_tracks(tracks) while tracks['next']: tracks = spotipy.next(tracks) return set(playlist_artists_list)
def create_list_of_ids_for_playlist(user_id, playlist_id): '''. This function grabs all track ids from the playlist it is fed and appends them to a list ''' id_list = [] playlist_content = sp.user_playlist(user_id, playlist_id) for key,val in enumerate(playlist_content['trif __name__ == "__main__": main()acks']['items']): id_list.append(val['track']['id'])
def load_playlist_spotify(self, playlist, spotipy=None): if spotipy is None: spotipy = self.login_spotipy(self.spotipyid, self.spotipysecret) username = self.get_username_id(playlist) playlist_id = self.get_playlist_id(playlist) print(username, spotipy.user_playlist(username, playlist_id)['name']) tracks = self.tracks_playlist(spotipy, username, playlist_id) return tracks
def load_playlist_file(self, playlist, spotipy=None): if spotipy is None: spotipy = self.login_spotipy(self.spotipyid, self.spotipysecret) all_tracks = [] if os.path.isfile(playlist): with open(playlist) as fp: lines = fp.read().split( "\n") # Create a list containing all lines for link in lines: username = self.get_username_id(link) playlist_id = self.get_playlist_id(link) print(username, spotipy.user_playlist(username, playlist_id)['name']) tracks = self.tracks_playlist(spotipy, username, playlist_id) for track in tracks: all_tracks.append(track) return all_tracks else: raise FileNotFoundError("Wrong path or the file doesn't exist")