diff options
| author | remitamine <remitamine@gmail.com> | 2016-05-23 23:58:16 +0100 | 
|---|---|---|
| committer | remitamine <remitamine@gmail.com> | 2016-05-23 23:58:16 +0100 | 
| commit | e8593f346a4b1236d2a023eb3070610bf180459c (patch) | |
| tree | 648c41cd4b60dff7488265db63394ff30f014af7 | |
| parent | 05b651e3a58081492eb35d896c80dd1bdb87081c (diff) | |
[ooyala] extract subtitles
| -rw-r--r-- | youtube_dl/extractor/ooyala.py | 28 | 
1 files changed, 19 insertions, 9 deletions
diff --git a/youtube_dl/extractor/ooyala.py b/youtube_dl/extractor/ooyala.py index 95e982897..4c119071d 100644 --- a/youtube_dl/extractor/ooyala.py +++ b/youtube_dl/extractor/ooyala.py @@ -22,13 +22,7 @@ class OoyalaBaseIE(InfoExtractor):          metadata = content_tree[list(content_tree)[0]]          embed_code = metadata['embed_code']          pcode = metadata.get('asset_pcode') or embed_code -        video_info = { -            'id': embed_code, -            'title': metadata['title'], -            'description': metadata.get('description'), -            'thumbnail': metadata.get('thumbnail_image') or metadata.get('promo_image'), -            'duration': float_or_none(metadata.get('duration'), 1000), -        } +        title = metadata['title']          urls = []          formats = [] @@ -78,8 +72,24 @@ class OoyalaBaseIE(InfoExtractor):                      self.IE_NAME, cur_auth_data['message']), expected=True)          self._sort_formats(formats) -        video_info['formats'] = formats -        return video_info +        subtitles = {} +        for lang, sub in metadata.get('closed_captions_vtt', {}).get('captions', {}).items(): +            sub_url = sub.get('url') +            if not sub_url: +                continue +            subtitles[lang] = [{ +                'url': sub_url, +            }] + +        return { +            'id': embed_code, +            'title': title, +            'description': metadata.get('description'), +            'thumbnail': metadata.get('thumbnail_image') or metadata.get('promo_image'), +            'duration': float_or_none(metadata.get('duration'), 1000), +            'subtitles': subtitles, +            'formats': formats, +        }  class OoyalaIE(OoyalaBaseIE):  | 
