Resolves #1 by organizing downloaded media by game title.
Resolves #5 by capturing all HTTP errors that may arise on any call to X API.
Paves the way for #4 by adding modular functions for all X API calls and URI downloads so that, if other command line utilities are needed, it only needs to be updated in one place.
Splits functionality into scanning and downloading phases where all pages are first scanned for new media and then this new media is actually downloaded. This makes the tqdm progress bars much nicer and hides the pagination details from the user. Also ensures all X API calls are successful before downloading any media.
Removed explicit provision of the xuid parameter since this can be obtained correctly using the /v2/accountxuid endpoint.
Consolidated xapi_key and media_dir into a config.json file (replacing ids.json) so that the user doesn't have to repeatedly provide information that is likely to remain the same each run.
tqdm
progress bars much nicer and hides the pagination details from the user. Also ensures all X API calls are successful before downloading any media.xuid
parameter since this can be obtained correctly using the/v2/accountxuid
endpoint.xapi_key
andmedia_dir
into aconfig.json
file (replacingids.json
) so that the user doesn't have to repeatedly provide information that is likely to remain the same each run.