meeb / bandcampsync

Downloads your Bandcamp purchases automatically
BSD 3-Clause "New" or "Revised" License
142 stars 7 forks source link

When pulling purchases an error is thrown when it arrives at a Subscription in my collections list #11

Closed illandhil closed 11 months ago

illandhil commented 11 months ago

Traceback (most recent call last): File "C:\Users\profile\AppData\Local\Programs\Python\Python39\lib\site-packages\bandcampsync\bandcamp.py", line 212, in load_purchases download_url = redownload_urls[download_url_key] KeyError: 'm83897'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\profile\AppData\Local\Programs\Python\Python39\lib\site-packages\bandcampsync\bandcamp.py", line 294, in getattr return self._data[key] KeyError: 'title'

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "C:\Users\profile\AppData\Local\Programs\Python\Python39\Scripts\bandcampsync", line 49, in do_sync(cookies_path, cookies, dir_path, media_format, temp_dir) File "C:\Users\profile\AppData\Local\Programs\Python\Python39\lib\site-packages\bandcampsync__init.py", line 20, in do_sync bandcamp.load_purchases() File "C:\Users\profile\AppData\Local\Programs\Python\Python39\lib\site-packages\bandcampsync\bandcamp.py", line 214, in load_purchases log.error(f'Failed to locate download URL for {item.band_name} / {item.title} ' File "C:\Users\profile\AppData\Local\Programs\Python\Python39\lib\site-packages\bandcampsync\bandcamp.py", line 296, in getattr__ raise KeyError(f'BandcampItem value "{key}" does not exist') from e KeyError: 'BandcampItem value "title" does not exist'

illandhil commented 11 months ago

Just wanted to note a workaround that the downloads proceed if I hide my subscription in the site UI then run the sync.

meeb commented 11 months ago

Ah I've not seen a subscription page so I didn't have any code to handle it. I've added a check for band_name and title for items which should skip this automatically in the future. This will be in the next release. Thanks for the issue.