mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-03-09 12:50:23 -05:00
Improve error handling
This commit is contained in:
parent
93a6adf6dd
commit
f66affa65b
1 changed files with 9 additions and 0 deletions
|
@ -370,6 +370,15 @@ def _real_extract(self, url):
|
||||||
|
|
||||||
formats, subtitles = self._extract_formats_and_subtitles(streaming_info, video_id)
|
formats, subtitles = self._extract_formats_and_subtitles(streaming_info, video_id)
|
||||||
|
|
||||||
|
code = traverse_obj(streaming_info, ('code', {str}))
|
||||||
|
if not formats and code:
|
||||||
|
if code in ('CONTENT_AVAILABLE_ONLY_FOR_BE_RESIDENTS', 'CONTENT_AVAILABLE_ONLY_IN_BE', 'CONTENT_UNAVAILABLE_VIA_PROXY'):
|
||||||
|
self.raise_geo_restricted()
|
||||||
|
elif code in ('CONTENT_AVAILABLE_ONLY_FOR_BE_RESIDENTS_AND_EXPATS', 'CONTENT_IS_AGE_RESTRICTED', 'CONTENT_REQUIRES_AUTHENTICATION'):
|
||||||
|
self.raise_login_required()
|
||||||
|
else:
|
||||||
|
raise ExtractorError(f'Unable to extract formats: {code}')
|
||||||
|
|
||||||
return {
|
return {
|
||||||
**self._json_ld(traverse_obj(metadata, ('ldjson', ..., {json.loads})), video_id, fatal=False),
|
**self._json_ld(traverse_obj(metadata, ('ldjson', ..., {json.loads})), video_id, fatal=False),
|
||||||
**traverse_obj(metadata, ('episode', {
|
**traverse_obj(metadata, ('episode', {
|
||||||
|
|
Loading…
Reference in a new issue