aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/extractor')
-rw-r--r--yt_dlp/extractor/redgifs.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/yt_dlp/extractor/redgifs.py b/yt_dlp/extractor/redgifs.py
index f688d1e63..098fb8185 100644
--- a/yt_dlp/extractor/redgifs.py
+++ b/yt_dlp/extractor/redgifs.py
@@ -72,7 +72,7 @@ class RedGifsBaseInfoExtractor(InfoExtractor):
self._API_HEADERS['authorization'] = f'Bearer {auth["token"]}'
def _call_api(self, ep, video_id, *args, **kwargs):
- for attempt in range(2):
+ for first_attempt in True, False:
if 'authorization' not in self._API_HEADERS:
self._fetch_oauth_token(video_id)
try:
@@ -82,8 +82,9 @@ class RedGifsBaseInfoExtractor(InfoExtractor):
f'https://api.redgifs.com/v2/{ep}', video_id, headers=headers, *args, **kwargs)
break
except ExtractorError as e:
- if not attempt and isinstance(e.cause, urllib.error.HTTPError) and e.cause.code == 401:
+ if first_attempt and isinstance(e.cause, urllib.error.HTTPError) and e.cause.code == 401:
del self._API_HEADERS['authorization'] # refresh the token
+ continue
raise
if 'error' in data: