aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemita Amine <remitamine@gmail.com>2017-02-21 17:51:40 +0100
committerRemita Amine <remitamine@gmail.com>2017-02-21 17:52:50 +0100
commit7345d6d465c4889ae06672a11f8b6e491b0b7fe4 (patch)
treef94f117fd2660de09b18a781b83389cc5aec33f5
parent86466a8b6f313d0d8c80823e8e61215ac16046a5 (diff)
[tfo] Improve geo restriction detection and use geo bypass mechanism
-rw-r--r--youtube_dl/extractor/tfo.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/youtube_dl/extractor/tfo.py b/youtube_dl/extractor/tfo.py
index 6f1eeac57..0e2370cd8 100644
--- a/youtube_dl/extractor/tfo.py
+++ b/youtube_dl/extractor/tfo.py
@@ -8,10 +8,12 @@ from ..utils import (
HEADRequest,
ExtractorError,
int_or_none,
+ clean_html,
)
class TFOIE(InfoExtractor):
+ _GEO_COUNTRIES = ['CA']
_VALID_URL = r'https?://(?:www\.)?tfo\.org/(?:en|fr)/(?:[^/]+/){2}(?P<id>\d+)'
_TEST = {
'url': 'http://www.tfo.org/en/universe/tfo-247/100463871/video-game-hackathon',
@@ -36,7 +38,9 @@ class TFOIE(InfoExtractor):
'X-tfo-session': self._get_cookies('http://www.tfo.org/')['tfo-session'].value,
})
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']
return {