aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dl/extractor/ted.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-02-21 00:14:38 +0600
committerSergey M․ <dstftw@gmail.com>2015-02-21 00:14:38 +0600
commita461a11989e147c30e3611005861cc63dcd16af3 (patch)
tree3edba0871a870f95c5055a9935892d2faf45f8b8 /youtube_dl/extractor/ted.py
parent1bd838608fda2da789c8991ec7fc194ed5ec0a1f (diff)
downloadyoutube-dl-a461a11989e147c30e3611005861cc63dcd16af3.zip
youtube-dl-a461a11989e147c30e3611005861cc63dcd16af3.tar.gz
youtube-dl-a461a11989e147c30e3611005861cc63dcd16af3.tar.bz2
[ted] Improve external video handling and add test
Diffstat (limited to 'youtube_dl/extractor/ted.py')
-rw-r--r--youtube_dl/extractor/ted.py31
1 files changed, 24 insertions, 7 deletions
diff --git a/youtube_dl/extractor/ted.py b/youtube_dl/extractor/ted.py
index 5e53229..5967839 100644
--- a/youtube_dl/extractor/ted.py
+++ b/youtube_dl/extractor/ted.py
@@ -83,6 +83,22 @@ class TEDIE(SubtitlesInfoExtractor):
'params': {
'skip_download': True,
},
+ }, {
+ # YouTube video
+ 'url': 'http://www.ted.com/talks/jeffrey_kluger_the_sibling_bond',
+ 'add_ie': ['Youtube'],
+ 'info_dict': {
+ 'id': 'aFBIPO-P7LM',
+ 'ext': 'mp4',
+ 'title': 'The hidden power of siblings: Jeff Kluger at TEDxAsheville',
+ 'description': 'md5:3d7a4f50d95ca5dd67104e2a20f43fe1',
+ 'uploader': 'TEDx Talks',
+ 'uploader_id': 'TEDxTalks',
+ 'upload_date': '20111216',
+ },
+ 'params': {
+ 'skip_download': True,
+ },
}]
_NATIVE_FORMATS = {
@@ -132,15 +148,16 @@ class TEDIE(SubtitlesInfoExtractor):
talk_info = self._extract_info(webpage)['talks'][0]
- if talk_info.get('external') is not None:
- self.to_screen('Found video from %s' % talk_info['external']['service'])
- if 'code' in talk_info['external']:
- ext_url = talk_info['external']['code']
- else:
- ext_url = talk_info['external']['uri']
+ external = talk_info.get('external')
+ if external:
+ service = external['service']
+ self.to_screen('Found video from %s' % service)
+ ext_url = None
+ if service.lower() == 'youtube':
+ ext_url = external.get('code')
return {
'_type': 'url',
- 'url': ext_url,
+ 'url': ext_url or external['uri'],
}
formats = [{