From 3aca24f69fbcc46701bf6354ecf99179bb5b0f28 Mon Sep 17 00:00:00 2001 From: Sasha MOREL Date: Sun, 31 Jan 2021 16:02:49 +0100 Subject: [PATCH] Added unduplicator --- spotify_shuffle.py => spotify.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) rename spotify_shuffle.py => spotify.py (79%) diff --git a/spotify_shuffle.py b/spotify.py similarity index 79% rename from spotify_shuffle.py rename to spotify.py index 898b856..943aee2 100644 --- a/spotify_shuffle.py +++ b/spotify.py @@ -8,6 +8,17 @@ from random import shuffle from time import strftime +def unduplicate_list (tracks): + known = [] + cur = 0 + while cur < len (tracks): + if tracks [cur] in known: + del tracks [cur] + continue + known.append (tracks [cur]) + cur += 1 + + def get_or_post (token, url, data = None): d = None if type (data) == bytes: @@ -60,9 +71,16 @@ def create_playlist (token, name, description, tracks): def playlist_shuffle (token, playlist): tracks = read_playlist (token, playlist) + unduplicate_list (tracks) shuffle (tracks) create_playlist (token, list_playlists (token) [playlist] + ' - Shuffled ' + strftime ('%Y-%m-%d %H:%M:%S'), 'Shuffled playlist', tracks) +def playlist_unduplicate (token, playlist): + tracks = read_playlist (token, playlist) + unduplicate_list (tracks) + create_playlist (token, list_playlists (token) [playlist] + ' - Undiplicates', 'Non duplicated playlist', tracks) + + if __name__ == '__main__': raise (NotImplementedError ('no CLI interface yet')) \ No newline at end of file