コード例 #1
0
    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
コード例 #2
0
ファイル: helpers.py プロジェクト: andreshazard/spotifest
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)
コード例 #3
0
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)
コード例 #4
0
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'])
コード例 #5
0
    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
コード例 #6
0
    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")