1
1
mirror of https://github.com/ytdl-org/youtube-dl synced 2024-11-27 10:56:48 +01:00

Avoid crashing if n-sig decode fails

This commit is contained in:
dirkf 2022-02-01 23:22:57 +00:00
parent 34c06b16f5
commit 41f0043983

View File

@ -26,6 +26,7 @@ from ..utils import (
ExtractorError, ExtractorError,
clean_html, clean_html,
dict_get, dict_get,
error_to_compat_str,
float_or_none, float_or_none,
int_or_none, int_or_none,
js_to_json, js_to_json,
@ -1463,7 +1464,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
self._downloader.to_screen('[debug] [%s] %s' % (self.IE_NAME, 'Decrypted nsig {0} => {1}'.format(n_param, self._player_cache[sig_id]))) self._downloader.to_screen('[debug] [%s] %s' % (self.IE_NAME, 'Decrypted nsig {0} => {1}'.format(n_param, self._player_cache[sig_id])))
return self._player_cache[sig_id] return self._player_cache[sig_id]
except Exception as e: except Exception as e:
raise ExtractorError(traceback.format_exc(), cause=e, video_id=video_id) self._downloader.report_warning(
'[%s] %s (%s %s)' % (
self.IE_NAME,
'Unable to decode n-parameter: download likely to be throttled',
error_to_compat_str(e),
traceback.format_exc()))
def _unthrottle_format_urls(self, video_id, player_url, formats): def _unthrottle_format_urls(self, video_id, player_url, formats):
for fmt in formats: for fmt in formats: