From 71be6d51387912547921098309ccdbc1c6965a83 Mon Sep 17 00:00:00 2001 From: Alok Saboo Date: Sun, 12 Jun 2022 19:21:38 -0400 Subject: [PATCH] Add 429 API error handling --- beetsplug/spotify.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/beetsplug/spotify.py b/beetsplug/spotify.py index d7062f7d4..021fa8fc9 100644 --- a/beetsplug/spotify.py +++ b/beetsplug/spotify.py @@ -164,6 +164,11 @@ class SpotifyPlugin(MetadataSourcePlugin, BeetsPlugin): ) self._authenticate() return self._handle_response(request_type, url, params=params) + elif response.status_code == 429: + seconds = response.headers['Retry-After'] + time.sleep(int(seconds)) + self._log.info('Too many API requests. Retrying after {} seconds.', seconds) + return self._handle_response(request_type, url, params=params) else: raise ui.UserError( '{} API error:\n{}\nURL:\n{}\nparams:\n{}'.format(