while True: filtered_playlists += list( filter( lambda playlist: any(crit in playlist['name'] for crit in criteria) and playlist['owner']['id'] == os.environ['SPOTIFY_USERNAME'], result['items'])) if not result['next']: break result = api.next(result) playlist_tracks = [] logging.info('getting tracks in playlists...') for playlist in filtered_playlists: logging.debug(playlist['name']) result = api.playlist_tracks(playlist['id']) playlist_tracks += extract_tracks(result) playlist_tracks_size = len(playlist_tracks) logging.info(f'tracks in playlists: {playlist_tracks_size}') diff = list( filter( lambda track: track['id'] not in [track['id'] for track in lib_tracks], playlist_tracks)) diff_size = len(diff) diff_percent = round(diff_size / playlist_tracks_size * 100) logging.info(f'tracks not covered: {diff_size} ({diff_percent}%)') logging.info('sorting tracks by added at...')