From 2ab45b1019dd9cf0659bab007e949273a8cbdd84 Mon Sep 17 00:00:00 2001 From: Basraah Date: Wed, 26 Jul 2017 08:59:22 +1000 Subject: [PATCH] Fix cache type error with retry time --- services/modules/discord/manager.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/modules/discord/manager.py b/services/modules/discord/manager.py index e0b369dc..3a506839 100644 --- a/services/modules/discord/manager.py +++ b/services/modules/discord/manager.py @@ -110,16 +110,16 @@ def api_backoff(func): break except requests.HTTPError as e: if e.response.status_code == 429: - if 'Retry-After' in e.response.headers: - retry_after = e.response.headers['Retry-After'] - else: + try: + retry_after = int(e.response.headers['Retry-After']) + except (TypeError, KeyError): # Pick some random time retry_after = 5 logger.info("Received backoff from API of %s seconds, handling" % retry_after) # Store value in redis backoff_until = (datetime.datetime.utcnow() + - datetime.timedelta(seconds=int(retry_after))) + datetime.timedelta(seconds=retry_after)) global_backoff = bool(e.response.headers.get('X-RateLimit-Global', False)) if global_backoff: logger.info("Global backoff!!")