From 45c034e262d2e7590cf3183a5e1c3bb2f565ef55 Mon Sep 17 00:00:00 2001 From: dirkf Date: Sun, 2 Feb 2025 02:16:38 +0000 Subject: [PATCH] Improve error handling for share link/redirect URL --- youtube_dl/extractor/zoom.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/zoom.py b/youtube_dl/extractor/zoom.py index a7640b8a4..dfba60f16 100644 --- a/youtube_dl/extractor/zoom.py +++ b/youtube_dl/extractor/zoom.py @@ -128,10 +128,14 @@ class ZoomIE(InfoExtractor): if url_type == 'share': webpage = self._get_real_webpage(url, base_url, video_id, 'share') meeting_id = self._get_page_data(webpage, video_id)['meetingId'] - redirect_path = self._download_json( + share_info = self._download_json( '{0}nws/recording/1.0/play/share-info/{1}'.format(base_url, meeting_id), - video_id, note='Downloading share info JSON')['result']['redirectUrl'] - url = urljoin(base_url, redirect_path) + video_id, note='Downloading share info JSON', fatal=False) + url = traverse_obj(share_info, ( + 'result', 'redirectUrl', T(lambda u: urljoin(base_url, u)))) + if not url: + raise ExtractorError(traverse_obj( + share_info, 'errorMessage') or 'No video found from share link') query['continueMode'] = 'true' webpage = self._get_real_webpage(url, base_url, video_id, 'play')