From 57212a5f97ce367590aaa5c3e9a135eead8f81f7 Mon Sep 17 00:00:00 2001 From: bashonly <88596187+bashonly@users.noreply.github.com> Date: Fri, 25 Oct 2024 18:37:18 +0000 Subject: [PATCH] [ie/vimeo] Fix API retries (fix c1c9bb4adb42d0d93a2fb5d93a7de0a87b6ba884) (#11351) Authored by: bashonly --- yt_dlp/extractor/vimeo.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/yt_dlp/extractor/vimeo.py b/yt_dlp/extractor/vimeo.py index 367d5e583..0ed7b9ec1 100644 --- a/yt_dlp/extractor/vimeo.py +++ b/yt_dlp/extractor/vimeo.py @@ -869,11 +869,12 @@ def _extract_from_api(self, video_id, unlisted_hash=None): for retry in (False, True): try: video = self._call_videos_api(video_id, viewer['jwt'], unlisted_hash) + break except ExtractorError as e: if (not retry and isinstance(e.cause, HTTPError) and e.cause.status == 400 and 'password' in traverse_obj( - e.cause.response.read(), - ({bytes.decode}, {json.loads}, 'invalid_parameters', ..., 'field'), + self._webpage_read_content(e.cause.response, e.cause.response.url, video_id, fatal=False), + ({json.loads}, 'invalid_parameters', ..., 'field'), )): self._verify_video_password( video_id, self._get_video_password(), viewer['xsrft'])