diff --git a/spotify-backup.py b/spotify-backup.py index 316318b..1b05924 100755 --- a/spotify-backup.py +++ b/spotify-backup.py @@ -126,6 +126,21 @@ class SpotifyAPI: self.access_token = access_token +def maybe_delete(d, k): + if k in d: + del d[k] + + +def scrub_cruft(obj): + if isinstance(obj, dict): + maybe_delete(obj, "available_markets") + for _, v in obj.items(): + scrub_cruft(v) + elif isinstance(obj, list): + for v in obj: + scrub_cruft(v) + + def main(): # Parse arguments. parser = argparse.ArgumentParser(description='Exports your Spotify playlists. By default, opens a browser window ' @@ -175,6 +190,9 @@ def main(): logging.info('Loading playlist: {name} ({tracks[total]} songs)'.format(**playlist)) playlist['tracks'] = spotify.list(playlist['tracks']['href'], {'limit': 100}) playlists += playlist_data + + logging.info(f"Scrubbing cruft...") + scrub_cruft(playlists) # Write the file. logging.info('Writing files...')