diff options
author | Remita Amine <remitamine@gmail.com> | 2017-02-21 17:51:40 +0100 |
---|---|---|
committer | Remita Amine <remitamine@gmail.com> | 2017-02-21 17:52:50 +0100 |
commit | 7345d6d465c4889ae06672a11f8b6e491b0b7fe4 (patch) | |
tree | f94f117fd2660de09b18a781b83389cc5aec33f5 | |
parent | 86466a8b6f313d0d8c80823e8e61215ac16046a5 (diff) |
[tfo] Improve geo restriction detection and use geo bypass mechanism
-rw-r--r-- | youtube_dl/extractor/tfo.py | 6 |
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 { |