blob: dbd10830202f61f0603973fd0015530540c27606 (
plain) (
tree)
|
|
#!/usr/bin/python3
import spotipy
from spotipy.oauth2 import SpotifyOAuth
import json
import sys
scope = "user-library-read playlist-modify-public"
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(scope=scope, client_id="1034e542fa064c27859b61a6ec5f864e", client_secret="2503172e78ce4d5e9146047db0a39077", redirect_uri="http://b.4a.si:25425/"))
playlist = "7IyZWvHG2e7CiGnHGTkFBl"
results = {"items": [None]}
offset = 0
publicized_uris = []
while len(results["items"]) != 0:
results = sp.playlist_items(playlist, None, 100, offset)
for idx, item in enumerate(results["items"]):
publicized_uris.append(item["track"]["uri"])
offset += 100
results = {"items": [None]}
offset = 0
saved_items = []
while len(results["items"]) != 0:
results = sp.current_user_saved_tracks(50, offset)
to_add = []
for idx, item in enumerate(results['items']):
saved_items.append(item)
if item["track"]["uri"] not in publicized_uris:
to_add.append(item["track"]["uri"])
else:
publicized_uris.remove(item["track"]["uri"])
offset += 50
if len(to_add) != 0:
sp.playlist_add_items(playlist, to_add)
print(offset, file=sys.stderr)
if len(publicized_uris) != 0:
sp.playlist_remove_all_occurrences_of_items(playlist, publicized_uris)
json.dumps(saved_items)
|