[rtve] Extract subtitles
This commit is contained in:
		| @@ -25,6 +25,7 @@ from youtube_dl.extractor import ( | ||||
|     RaiIE, | ||||
|     VikiIE, | ||||
|     ThePlatformIE, | ||||
|     RTVEALaCartaIE, | ||||
| ) | ||||
|  | ||||
|  | ||||
| @@ -305,5 +306,19 @@ class TestThePlatformSubtitles(BaseTestSubtitles): | ||||
|         self.assertEqual(md5(subtitles['en']), '97e7670cbae3c4d26ae8bcc7fdd78d4b') | ||||
|  | ||||
|  | ||||
| class TestRtveSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://www.rtve.es/alacarta/videos/los-misterios-de-laura/misterios-laura-capitulo-32-misterio-del-numero-17-2-parte/2428621/' | ||||
|     IE = RTVEALaCartaIE | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         print('Skipping, only available from Spain') | ||||
|         return | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(set(subtitles.keys()), set(['es'])) | ||||
|         self.assertEqual(md5(subtitles['es']), '69e70cae2d40574fb7316f31d6eb7fca') | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     unittest.main() | ||||
|   | ||||
| @@ -102,14 +102,26 @@ class RTVEALaCartaIE(InfoExtractor): | ||||
|             video_url = compat_urlparse.urljoin( | ||||
|                 'http://mvod1.akcdn.rtve.es/', video_path) | ||||
|  | ||||
|         subtitles = None | ||||
|         if info.get('sbtFile') is not None: | ||||
|             subtitles = self.extract_subtitles(video_id, info['sbtFile']) | ||||
|  | ||||
|         return { | ||||
|             'id': video_id, | ||||
|             'title': info['title'], | ||||
|             'url': video_url, | ||||
|             'thumbnail': info.get('image'), | ||||
|             'page_url': url, | ||||
|             'subtitles': subtitles, | ||||
|         } | ||||
|  | ||||
|     def _get_subtitles(self, video_id, sub_file): | ||||
|         subs = self._download_json( | ||||
|             sub_file + '.json', video_id, | ||||
|             'Downloading subtitles info')['page']['items'] | ||||
|         return dict((s['lang'], [{'ext': 'vtt', 'url': s['src']}]) | ||||
|             for s in subs) | ||||
|  | ||||
|  | ||||
| class RTVELiveIE(InfoExtractor): | ||||
|     IE_NAME = 'rtve.es:live' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user