diff --git a/introoutroplaylistmaker.py b/introoutroplaylistmaker.py index 56fa61d..6560cca 100644 --- a/introoutroplaylistmaker.py +++ b/introoutroplaylistmaker.py @@ -6,6 +6,8 @@ from dotenv import load_dotenv load_dotenv() INTROOUTROPLAYLIST_ID = os.getenv('INTROOUTROPLAYLIST_ID') +#INTROOUTROPLAYLIST_ID = os.getenv('RANDOMTESTPLAYLIST_ID') +print(INTROOUTROPLAYLIST_ID) def track_is_eligible(track): if track['duration_ms'] < 90000: @@ -15,8 +17,8 @@ def track_is_eligible(track): return False - if __name__ == "__main__": + api_call_count = 0 print("Authenticating...") authenticator = top_lib.Auth(verbose=True) sp = authenticator.newSpotifyauth("user-follow-read playlist-modify-public playlist-modify-private") @@ -24,28 +26,36 @@ if __name__ == "__main__": print("Authenticated!") print("Fetching Artists...") artists = spotifyManager.fetchUserFollowedArtists() + api_call_count += 4 print("Found " + str(len(artists))+ " Artists!") track_uris = [] - + num_artists = len(artists) + now_artist = 0 for artist in artists: + now_artist += 1 try: - print("Fetching albums for", artist[1]) + print(f"[{now_artist}/{num_artists}]{api_call_count}] Fetching albums for", artist[1]) albums = spotifyManager.fetchArtistAlbums(artist[0]) + api_call_count += 1 except top_lib.SpotifyTooManyAlbumsError: - print("Error fetching albums for", artist[1]) + print(f"[{now_artist}/{num_artists}]{api_call_count}] Error fetching albums for", artist[1]) continue for album in albums[0]: - print("Fetching tracks for", album[0]) + print(f"[{now_artist}/{num_artists}]{api_call_count}] Fetching tracks for", album[0]) album_track_uris = spotifyManager.getTrackUrisFromAlbum(album[1]) + api_call_count += 1 for track_uri in album_track_uris: track = sp.track(track_uri) + api_call_count += 1 if track_is_eligible(track): - print(track['artists'][0]['name'], track['name']) + print(f"[{now_artist}/{num_artists}]{api_call_count}] " + track['artists'][0]['name'], track['name']) track_uris.append(track_uri) sp.playlist_add_items(INTROOUTROPLAYLIST_ID, [track_uri]) + api_call_count += 1 continue - print("Skipping", track['artists'][0]['name'], track['name'], end="\r") - print("\nDone with", album[0]) - print("Done with", artist[1]) - print("Done with all artists") \ No newline at end of file + print(f"[{now_artist}/{num_artists}]{api_call_count}] Skipping", track['artists'][0]['name'], track['name'], end="\r") + print(f"\n[{now_artist}/{num_artists}]{api_call_count}] Done with", album[0]) + print(f"[{now_artist}/{num_artists}]{api_call_count}] Done with", artist[1]) + print(f"[{now_artist}/{num_artists}]{api_call_count}] Done with all artists") + print("TOOK THIS MANY API CALLS: ", api_call_count) \ No newline at end of file