import spotipy from spotipy.oauth2 import SpotifyOAuth from ..config.configs import Credentials, ProjectPaths import json def list_personal_saved_tracks(): scope = "user-library-read" auth = SpotifyOAuth(client_id=Credentials.SPOTIFY_CLIENT_ID, client_secret=Credentials.SPOTIFY_SECRET_ID, scope=scope, redirect_uri="https://localhost:5000") sp = spotipy.Spotify(auth_manager=auth) tracks = [] downloaded_tracks = [] offset_count = 0 for _ in range(50): results = sp.current_user_saved_tracks(limit=50, offset=offset_count) for idx, item in enumerate(results['items']): track = item['track'] data = {"artist": track['artists'][0]['name'], "track": track['name']} if track not in downloaded_tracks: tracks.append(data) downloaded_tracks.append(track) print(idx, track['artists'][0]['name'], " - ", track['name']) offset_count += 50 with open(ProjectPaths.DATA_DIR.joinpath("json", "saved_tracks.json"), "w", encoding="UTF-8") as wr: json.dump(tracks, wr, indent=4)