projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[youtube] Fix extraction.
[youtube-dl]
/
youtube_dl
/
extractor
/
tfo.py
diff --git
a/youtube_dl/extractor/tfo.py
b/youtube_dl/extractor/tfo.py
index 6f1eeac57bf67e5be4ab6fd45b88ca0d13c01f5c..0631cb7aba8a7068a291fb8e67de0d5e04acf482 100644
(file)
--- a/
youtube_dl/extractor/tfo.py
+++ b/
youtube_dl/extractor/tfo.py
@@
-8,21
+8,21
@@
from ..utils import (
HEADRequest,
ExtractorError,
int_or_none,
HEADRequest,
ExtractorError,
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+)'
_TEST = {
'url': 'http://www.tfo.org/en/universe/tfo-247/100463871/video-game-hackathon',
_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',
- 'md5': '
47c987d0515561114cf03d1226a9d4c7
',
+ 'md5': '
cafbe4f47a8dae0ca0159937878100d6
',
'info_dict': {
'info_dict': {
- 'id': '
100463871
',
+ 'id': '
7da3d50e495c406b8fc0b997659cc075
',
'ext': 'mp4',
'title': 'Video Game Hackathon',
'description': 'md5:558afeba217c6c8d96c60e5421795c07',
'ext': 'mp4',
'title': 'Video Game Hackathon',
'description': 'md5:558afeba217c6c8d96c60e5421795c07',
- 'upload_date': '20160212',
- 'timestamp': 1455310233,
}
}
}
}
@@
-36,7
+36,9
@@
class TFOIE(InfoExtractor):
'X-tfo-session': self._get_cookies('http://www.tfo.org/')['tfo-session'].value,
})
if infos.get('success') == 0:
'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 {
video_data = infos['data']
return {