mirror of https://github.com/yt-dlp/yt-dlp.git
[youtube] Raise GeoRestrictedError
This commit is contained in:
parent
8878789f11
commit
fd5c4aab59
|
@ -47,7 +47,6 @@ from ..utils import (
|
|||
unsmuggle_url,
|
||||
uppercase_escape,
|
||||
urlencode_postdata,
|
||||
ISO3166Utils,
|
||||
)
|
||||
|
||||
|
||||
|
@ -371,6 +370,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||
}
|
||||
_SUBTITLE_FORMATS = ('ttml', 'vtt')
|
||||
|
||||
_GEO_BYPASS = False
|
||||
|
||||
IE_NAME = 'youtube'
|
||||
_TESTS = [
|
||||
{
|
||||
|
@ -917,7 +918,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||
# itag 212
|
||||
'url': '1t24XAntNCY',
|
||||
'only_matching': True,
|
||||
}
|
||||
},
|
||||
{
|
||||
# geo restricted to JP
|
||||
'url': 'sJL6WA-aGkQ',
|
||||
'only_matching': True,
|
||||
},
|
||||
]
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
@ -1376,11 +1382,11 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||
if 'token' not in video_info:
|
||||
if 'reason' in video_info:
|
||||
if 'The uploader has not made this video available in your country.' in video_info['reason']:
|
||||
regions_allowed = self._html_search_meta('regionsAllowed', video_webpage, default=None)
|
||||
if regions_allowed:
|
||||
raise ExtractorError('YouTube said: This video is available in %s only' % (
|
||||
', '.join(map(ISO3166Utils.short2full, regions_allowed.split(',')))),
|
||||
expected=True)
|
||||
regions_allowed = self._html_search_meta(
|
||||
'regionsAllowed', video_webpage, default=None)
|
||||
countries = regions_allowed.split(',') if regions_allowed else None
|
||||
self.raise_geo_restricted(
|
||||
msg=video_info['reason'][0], countries=countries)
|
||||
raise ExtractorError(
|
||||
'YouTube said: %s' % video_info['reason'][0],
|
||||
expected=True, video_id=video_id)
|
||||
|
@ -2126,6 +2132,10 @@ class YoutubeChannelIE(YoutubePlaylistBaseInfoExtractor):
|
|||
'id': 'UUs0ifCMCm1icqRbqhUINa0w',
|
||||
'title': 'Uploads from Deus Ex',
|
||||
},
|
||||
}, {
|
||||
# geo restricted to JP
|
||||
'url': 'https://www.youtube.com/user/kananishinoSMEJ',
|
||||
'only_matching': True,
|
||||
}]
|
||||
|
||||
@classmethod
|
||||
|
|
Loading…
Reference in New Issue