mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-30 12:01:28 +00:00
[tfo] Improve geo restriction detection and use geo bypass mechanism
This commit is contained in:
parent
86466a8b6f
commit
7345d6d465
|
@ -8,10 +8,12 @@
|
||||||
HEADRequest,
|
HEADRequest,
|
||||||
ExtractorError,
|
ExtractorError,
|
||||||
int_or_none,
|
int_or_none,
|
||||||
|
clean_html,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class TFOIE(InfoExtractor):
|
class TFOIE(InfoExtractor):
|
||||||
|
_GEO_COUNTRIES = ['CA']
|
||||||
_VALID_URL = r'https?://(?:www\.)?tfo\.org/(?:en|fr)/(?:[^/]+/){2}(?P<id>\d+)'
|
_VALID_URL = r'https?://(?:www\.)?tfo\.org/(?:en|fr)/(?:[^/]+/){2}(?P<id>\d+)'
|
||||||
_TEST = {
|
_TEST = {
|
||||||
'url': 'http://www.tfo.org/en/universe/tfo-247/100463871/video-game-hackathon',
|
'url': 'http://www.tfo.org/en/universe/tfo-247/100463871/video-game-hackathon',
|
||||||
|
@ -36,7 +38,9 @@ def _real_extract(self, url):
|
||||||
'X-tfo-session': self._get_cookies('http://www.tfo.org/')['tfo-session'].value,
|
'X-tfo-session': self._get_cookies('http://www.tfo.org/')['tfo-session'].value,
|
||||||
})
|
})
|
||||||
if infos.get('success') == 0:
|
if infos.get('success') == 0:
|
||||||
raise ExtractorError('%s said: %s' % (self.IE_NAME, infos['msg']), expected=True)
|
if infos.get('code') == 'ErrGeoBlocked':
|
||||||
|
self.raise_geo_restricted(countries=self._GEO_COUNTRIES)
|
||||||
|
raise ExtractorError('%s said: %s' % (self.IE_NAME, clean_html(infos['msg'])), expected=True)
|
||||||
video_data = infos['data']
|
video_data = infos['data']
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
Loading…
Reference in a new issue