Ejemplo n.º 1
0
def clean_playlist(playlist_name):
    playlist_id = create_playlist(sp, playlist_name, '')
    results = sp.playlist_tracks(playlist_id)
    playlist_tracks = []
    for result in results['items']:
        playlist_tracks.append(result['track'])
    while results['next']:
        results = sp.next(results)
        for result in results['items']:
            playlist_tracks.append(result['track'])

    remove_tracks = []
    for track in playlist_tracks:
        id = track['id']
        keys = create_key(track)
        # In case song has same name but extra artist for remix.
        should_remove = True
        for key in keys:
            if not key_in_history(key):
                should_remove = False
                break
        if should_remove:
            remove_tracks.append(id)
    remove_tracks_from_playlist(remove_tracks, playlist_name)
    remove_duplicates_in_playlist(playlist_name)
 def create_test_playlist(self):
     test_playlist_name = 'TEST_PLAYLIST_01'
     test_playlist_description = 'TEST PLAYLIST DESCRIPTION'
     new_test_playlist = create_playlist(test_playlist_name,
                                         test_playlist_description)
     logging.info(new_test_playlist)
     yield new_test_playlist
Ejemplo n.º 3
0
def clean_playlist(playlist_name):
    playlist_id = create_playlist(sp, playlist_name, '')
    results = sp.playlist_tracks(playlist_id)
    remove_tracks = []
    for result in results['items']:
        track_id = result['track']['id']
        if in_file(track_id):
            remove_tracks.append(track_id)
    while results['next']:
        results = sp.next(results)
        for result in results['items']:
            track_id = result['track']['id']
            if in_file(track_id):
                remove_tracks.append(track_id)


#    for track in remove_tracks:
#        print('removing : ' + str(remove_tracks))
    print('Removing ' + str(len(remove_tracks)) + ' tracks from ' +
          playlist_name)
    #    sp.user_playlist_remove_all_occurrences_of_tracks(username, playlist_id, remove_tracks)
    if len(remove_tracks) < 100:
        if remove_tracks:
            time.sleep(PAUSE_TIME)
            sp.user_playlist_remove_all_occurrences_of_tracks(
                username, playlist_id, remove_tracks)
    else:
        for track_id in remove_tracks:
            time.sleep(PAUSE_TIME)
            sp.user_playlist_remove_all_occurrences_of_tracks(
                username, playlist_id, [track_id])
Ejemplo n.º 4
0
def execute(sp,
            username,
            size=10,
            num_artists=10,
            time_range='medium_term',
            name='Recommendations',
            description=None):
    main.add_tracks(sp, main.create_playlist(sp, username, name, description),
                    _recommended_songs(sp, size, num_artists, time_range))
Ejemplo n.º 5
0
def remove_tracks_from_playlist(track_ids, playlist_name):
    playlist_id = create_playlist(sp, playlist_name, '')
    print('Removing ' + str(len(track_ids)) + ' tracks from ' + playlist_name)
    if len(track_ids) < 100:
        if track_ids:
            time.sleep(PAUSE_TIME)
            sp.user_playlist_remove_all_occurrences_of_tracks(
                username, playlist_id, track_ids)
    else:
        for track_id in track_ids:
            time.sleep(PAUSE_TIME)
            sp.user_playlist_remove_all_occurrences_of_tracks(
                username, playlist_id, [track_id])
Ejemplo n.º 6
0
def add_from_history_playlist():
    tracks = []
    history_id = create_playlist(sp, 'history', '')
    results = sp.playlist_tracks(history_id)
    for result in results['items']:
        tracks.append(result['track'])
    while results['next']:
        results = sp.next(results)
        for result in results['items']:
            tracks.append(result['track'])
    for track in tracks:
        add_to_cvs(track)
        sp.user_playlist_remove_all_occurrences_of_tracks(
            username, history_id, [track['id']])