mirror of
https://github.com/spotipy-dev/spotipy.git
synced 2026-06-19 01:03:53 +00:00
Fix exception is raised in exception handler, fixes #403
This commit is contained in:
parent
76522dfd1e
commit
125267fa4e
@ -187,39 +187,22 @@ class Spotify(object):
|
||||
if args:
|
||||
kwargs.update(args)
|
||||
retries = self.max_get_retries
|
||||
delay = 1
|
||||
delay = 0
|
||||
while retries > 0:
|
||||
try:
|
||||
return self._internal_call("GET", url, payload, kwargs)
|
||||
except SpotifyException as e:
|
||||
retries -= 1
|
||||
delay += 1
|
||||
status = e.http_status
|
||||
# 429 means we hit a rate limit, backoff
|
||||
if status == 429 or (status >= 500 and status < 600):
|
||||
if retries < 0:
|
||||
raise
|
||||
else:
|
||||
sleep_seconds = int(
|
||||
e.headers.get("Retry-After", delay)
|
||||
)
|
||||
print("retrying ..." + str(sleep_seconds) + "secs")
|
||||
time.sleep(sleep_seconds + 1)
|
||||
delay += 1
|
||||
else:
|
||||
raise
|
||||
except Exception as e:
|
||||
raise
|
||||
print("exception", str(e))
|
||||
# some other exception. Requests have
|
||||
# been know to throw a BadStatusLine exception
|
||||
retries -= 1
|
||||
if retries >= 0:
|
||||
sleep_seconds = int(e.headers.get("Retry-After", delay))
|
||||
print("retrying ..." + str(delay) + "secs")
|
||||
time.sleep(sleep_seconds + 1)
|
||||
delay += 1
|
||||
else:
|
||||
# 429 means we hit a rate limit, back-off
|
||||
if not (status == 429 or status >= 500 and status < 600):
|
||||
raise
|
||||
sleep_seconds = int(
|
||||
e.headers.get("Retry-After", delay)
|
||||
)
|
||||
print("retrying after..." + str(sleep_seconds) + "secs")
|
||||
time.sleep(sleep_seconds + 1)
|
||||
|
||||
def _post(self, url, args=None, payload=None, **kwargs):
|
||||
if args:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user