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