From 8813e831945fdbcba7bece2eef2406ffeb3cc72d Mon Sep 17 00:00:00 2001 From: Eric Cousineau Date: Sun, 30 May 2021 12:45:11 -0400 Subject: [PATCH] json: Remove "available_markets" field Otherwise, this makes the file needlessly larger --- spotify-backup.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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...')