mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	| @@ -28,7 +28,7 @@ | ||||
|     "retries": 10,  | ||||
|     "simulate": false,  | ||||
|     "subtitleslang": null,  | ||||
|     "subtitlesformat": "srt", | ||||
|     "subtitlesformat": "best", | ||||
|     "test": true,  | ||||
|     "updatetime": true,  | ||||
|     "usenetrc": false,  | ||||
|   | ||||
| @@ -337,6 +337,65 @@ class TestFormatSelection(unittest.TestCase): | ||||
|         downloaded = ydl.downloaded_info_dicts[0] | ||||
|         self.assertEqual(downloaded['format_id'], 'G') | ||||
|  | ||||
|     def test_subtitles(self): | ||||
|         def s_formats(lang, autocaption=False): | ||||
|             return [{ | ||||
|                 'ext': ext, | ||||
|                 'url': 'http://localhost/video.%s.%s' % (lang, ext), | ||||
|                 '_auto': autocaption, | ||||
|             } for ext in ['vtt', 'srt', 'ass']] | ||||
|         subtitles = dict((l, s_formats(l)) for l in ['en', 'fr', 'es']) | ||||
|         auto_captions = dict((l, s_formats(l, True)) for l in ['it', 'pt', 'es']) | ||||
|         info_dict = { | ||||
|             'id': 'test', | ||||
|             'title': 'Test', | ||||
|             'url': 'http://localhost/video.mp4', | ||||
|             'subtitles': subtitles, | ||||
|             'automatic_captions': auto_captions, | ||||
|             'extractor': 'TEST', | ||||
|         } | ||||
|  | ||||
|         def get_info(params={}): | ||||
|             params.setdefault('simulate', True) | ||||
|             ydl = YDL(params) | ||||
|             ydl.report_warning = lambda *args, **kargs: None | ||||
|             return ydl.process_video_result(info_dict, download=False) | ||||
|  | ||||
|         result = get_info() | ||||
|         self.assertFalse(result.get('requested_subtitles')) | ||||
|         self.assertEqual(result['subtitles'], subtitles) | ||||
|         self.assertEqual(result['automatic_captions'], auto_captions) | ||||
|  | ||||
|         result = get_info({'writesubtitles': True}) | ||||
|         subs = result['requested_subtitles'] | ||||
|         self.assertTrue(subs) | ||||
|         self.assertEqual(set(subs.keys()), set(['en'])) | ||||
|         self.assertTrue(subs['en'].get('data') is None) | ||||
|         self.assertEqual(subs['en']['ext'], 'ass') | ||||
|  | ||||
|         result = get_info({'writesubtitles': True, 'subtitlesformat': 'foo/srt'}) | ||||
|         subs = result['requested_subtitles'] | ||||
|         self.assertEqual(subs['en']['ext'], 'srt') | ||||
|  | ||||
|         result = get_info({'writesubtitles': True, 'subtitleslangs': ['es', 'fr', 'it']}) | ||||
|         subs = result['requested_subtitles'] | ||||
|         self.assertTrue(subs) | ||||
|         self.assertEqual(set(subs.keys()), set(['es', 'fr'])) | ||||
|  | ||||
|         result = get_info({'writesubtitles': True, 'writeautomaticsub': True, 'subtitleslangs': ['es', 'pt']}) | ||||
|         subs = result['requested_subtitles'] | ||||
|         self.assertTrue(subs) | ||||
|         self.assertEqual(set(subs.keys()), set(['es', 'pt'])) | ||||
|         self.assertFalse(subs['es']['_auto']) | ||||
|         self.assertTrue(subs['pt']['_auto']) | ||||
|  | ||||
|         result = get_info({'writeautomaticsub': True, 'subtitleslangs': ['es', 'pt']}) | ||||
|         subs = result['requested_subtitles'] | ||||
|         self.assertTrue(subs) | ||||
|         self.assertEqual(set(subs.keys()), set(['es', 'pt'])) | ||||
|         self.assertTrue(subs['es']['_auto']) | ||||
|         self.assertTrue(subs['pt']['_auto']) | ||||
|  | ||||
|     def test_add_extra_info(self): | ||||
|         test_dict = { | ||||
|             'extractor': 'Foo', | ||||
|   | ||||
| @@ -18,6 +18,13 @@ from youtube_dl.extractor import ( | ||||
|     VimeoIE, | ||||
|     WallaIE, | ||||
|     CeskaTelevizeIE, | ||||
|     LyndaIE, | ||||
|     NPOIE, | ||||
|     ComedyCentralIE, | ||||
|     NRKTVIE, | ||||
|     RaiIE, | ||||
|     VikiIE, | ||||
|     ThePlatformIE, | ||||
| ) | ||||
|  | ||||
|  | ||||
| @@ -27,42 +34,38 @@ class BaseTestSubtitles(unittest.TestCase): | ||||
|  | ||||
|     def setUp(self): | ||||
|         self.DL = FakeYDL() | ||||
|         self.ie = self.IE(self.DL) | ||||
|         self.ie = self.IE() | ||||
|         self.DL.add_info_extractor(self.ie) | ||||
|  | ||||
|     def getInfoDict(self): | ||||
|         info_dict = self.ie.extract(self.url) | ||||
|         info_dict = self.DL.extract_info(self.url, download=False) | ||||
|         return info_dict | ||||
|  | ||||
|     def getSubtitles(self): | ||||
|         info_dict = self.getInfoDict() | ||||
|         return info_dict['subtitles'] | ||||
|         subtitles = info_dict['requested_subtitles'] | ||||
|         if not subtitles: | ||||
|             return subtitles | ||||
|         for sub_info in subtitles.values(): | ||||
|             if sub_info.get('data') is None: | ||||
|                 uf = self.DL.urlopen(sub_info['url']) | ||||
|                 sub_info['data'] = uf.read().decode('utf-8') | ||||
|         return dict((l, sub_info['data']) for l, sub_info in subtitles.items()) | ||||
|  | ||||
|  | ||||
| class TestYoutubeSubtitles(BaseTestSubtitles): | ||||
|     url = 'QRS8MkLhQmM' | ||||
|     IE = YoutubeIE | ||||
|  | ||||
|     def test_youtube_no_writesubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = False | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(subtitles, None) | ||||
|  | ||||
|     def test_youtube_subtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(md5(subtitles['en']), '4cd9278a35ba2305f47354ee13472260') | ||||
|  | ||||
|     def test_youtube_subtitles_lang(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['subtitleslangs'] = ['it'] | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(md5(subtitles['it']), '164a51f16f260476a05b50fe4c2f161d') | ||||
|  | ||||
|     def test_youtube_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(len(subtitles.keys()), 13) | ||||
|         self.assertEqual(md5(subtitles['en']), '4cd9278a35ba2305f47354ee13472260') | ||||
|         self.assertEqual(md5(subtitles['it']), '164a51f16f260476a05b50fe4c2f161d') | ||||
|         for lang in ['it', 'fr', 'de']: | ||||
|             self.assertTrue(subtitles.get(lang) is not None, 'Subtitles for \'%s\' not extracted' % lang) | ||||
|  | ||||
|     def test_youtube_subtitles_sbv_format(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
| @@ -76,12 +79,6 @@ class TestYoutubeSubtitles(BaseTestSubtitles): | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(md5(subtitles['en']), '3cb210999d3e021bd6c7f0ea751eab06') | ||||
|  | ||||
|     def test_youtube_list_subtitles(self): | ||||
|         self.DL.expect_warning('Video doesn\'t have automatic captions') | ||||
|         self.DL.params['listsubtitles'] = True | ||||
|         info_dict = self.getInfoDict() | ||||
|         self.assertEqual(info_dict, None) | ||||
|  | ||||
|     def test_youtube_automatic_captions(self): | ||||
|         self.url = '8YoUxe5ncPo' | ||||
|         self.DL.params['writeautomaticsub'] = True | ||||
| @@ -103,55 +100,22 @@ class TestYoutubeSubtitles(BaseTestSubtitles): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(len(subtitles), 0) | ||||
|  | ||||
|     def test_youtube_multiple_langs(self): | ||||
|         self.url = 'QRS8MkLhQmM' | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         langs = ['it', 'fr', 'de'] | ||||
|         self.DL.params['subtitleslangs'] = langs | ||||
|         subtitles = self.getSubtitles() | ||||
|         for lang in langs: | ||||
|             self.assertTrue(subtitles.get(lang) is not None, 'Subtitles for \'%s\' not extracted' % lang) | ||||
|         self.assertFalse(subtitles) | ||||
|  | ||||
|  | ||||
| class TestDailymotionSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://www.dailymotion.com/video/xczg00' | ||||
|     IE = DailymotionIE | ||||
|  | ||||
|     def test_no_writesubtitles(self): | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(subtitles, None) | ||||
|  | ||||
|     def test_subtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(md5(subtitles['en']), '976553874490cba125086bbfea3ff76f') | ||||
|  | ||||
|     def test_subtitles_lang(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['subtitleslangs'] = ['fr'] | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(md5(subtitles['fr']), '594564ec7d588942e384e920e5341792') | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertTrue(len(subtitles.keys()) >= 6) | ||||
|  | ||||
|     def test_list_subtitles(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['listsubtitles'] = True | ||||
|         info_dict = self.getInfoDict() | ||||
|         self.assertEqual(info_dict, None) | ||||
|  | ||||
|     def test_automatic_captions(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['writeautomaticsub'] = True | ||||
|         self.DL.params['subtitleslang'] = ['en'] | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertTrue(len(subtitles.keys()) == 0) | ||||
|         self.assertEqual(md5(subtitles['en']), '976553874490cba125086bbfea3ff76f') | ||||
|         self.assertEqual(md5(subtitles['fr']), '594564ec7d588942e384e920e5341792') | ||||
|         for lang in ['es', 'fr', 'de']: | ||||
|             self.assertTrue(subtitles.get(lang) is not None, 'Subtitles for \'%s\' not extracted' % lang) | ||||
|  | ||||
|     def test_nosubtitles(self): | ||||
|         self.DL.expect_warning('video doesn\'t have subtitles') | ||||
| @@ -159,61 +123,21 @@ class TestDailymotionSubtitles(BaseTestSubtitles): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(len(subtitles), 0) | ||||
|  | ||||
|     def test_multiple_langs(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         langs = ['es', 'fr', 'de'] | ||||
|         self.DL.params['subtitleslangs'] = langs | ||||
|         subtitles = self.getSubtitles() | ||||
|         for lang in langs: | ||||
|             self.assertTrue(subtitles.get(lang) is not None, 'Subtitles for \'%s\' not extracted' % lang) | ||||
|         self.assertFalse(subtitles) | ||||
|  | ||||
|  | ||||
| class TestTedSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://www.ted.com/talks/dan_dennett_on_our_consciousness.html' | ||||
|     IE = TEDIE | ||||
|  | ||||
|     def test_no_writesubtitles(self): | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(subtitles, None) | ||||
|  | ||||
|     def test_subtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(md5(subtitles['en']), '4262c1665ff928a2dada178f62cb8d14') | ||||
|  | ||||
|     def test_subtitles_lang(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['subtitleslangs'] = ['fr'] | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(md5(subtitles['fr']), '66a63f7f42c97a50f8c0e90bc7797bb5') | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertTrue(len(subtitles.keys()) >= 28) | ||||
|  | ||||
|     def test_list_subtitles(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['listsubtitles'] = True | ||||
|         info_dict = self.getInfoDict() | ||||
|         self.assertEqual(info_dict, None) | ||||
|  | ||||
|     def test_automatic_captions(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['writeautomaticsub'] = True | ||||
|         self.DL.params['subtitleslang'] = ['en'] | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertTrue(len(subtitles.keys()) == 0) | ||||
|  | ||||
|     def test_multiple_langs(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         langs = ['es', 'fr', 'de'] | ||||
|         self.DL.params['subtitleslangs'] = langs | ||||
|         subtitles = self.getSubtitles() | ||||
|         for lang in langs: | ||||
|         self.assertEqual(md5(subtitles['en']), '4262c1665ff928a2dada178f62cb8d14') | ||||
|         self.assertEqual(md5(subtitles['fr']), '66a63f7f42c97a50f8c0e90bc7797bb5') | ||||
|         for lang in ['es', 'fr', 'de']: | ||||
|             self.assertTrue(subtitles.get(lang) is not None, 'Subtitles for \'%s\' not extracted' % lang) | ||||
|  | ||||
|  | ||||
| @@ -221,14 +145,7 @@ class TestBlipTVSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://blip.tv/a/a-6603250' | ||||
|     IE = BlipTVIE | ||||
|  | ||||
|     def test_list_subtitles(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['listsubtitles'] = True | ||||
|         info_dict = self.getInfoDict() | ||||
|         self.assertEqual(info_dict, None) | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
| @@ -240,39 +157,13 @@ class TestVimeoSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://vimeo.com/76979871' | ||||
|     IE = VimeoIE | ||||
|  | ||||
|     def test_no_writesubtitles(self): | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(subtitles, None) | ||||
|  | ||||
|     def test_subtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(md5(subtitles['en']), '8062383cf4dec168fc40a088aa6d5888') | ||||
|  | ||||
|     def test_subtitles_lang(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['subtitleslangs'] = ['fr'] | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(md5(subtitles['fr']), 'b6191146a6c5d3a452244d853fde6dc8') | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(set(subtitles.keys()), set(['de', 'en', 'es', 'fr'])) | ||||
|  | ||||
|     def test_list_subtitles(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['listsubtitles'] = True | ||||
|         info_dict = self.getInfoDict() | ||||
|         self.assertEqual(info_dict, None) | ||||
|  | ||||
|     def test_automatic_captions(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['writeautomaticsub'] = True | ||||
|         self.DL.params['subtitleslang'] = ['en'] | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertTrue(len(subtitles.keys()) == 0) | ||||
|         self.assertEqual(md5(subtitles['en']), '8062383cf4dec168fc40a088aa6d5888') | ||||
|         self.assertEqual(md5(subtitles['fr']), 'b6191146a6c5d3a452244d853fde6dc8') | ||||
|  | ||||
|     def test_nosubtitles(self): | ||||
|         self.DL.expect_warning('video doesn\'t have subtitles') | ||||
| @@ -280,27 +171,13 @@ class TestVimeoSubtitles(BaseTestSubtitles): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(len(subtitles), 0) | ||||
|  | ||||
|     def test_multiple_langs(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         langs = ['es', 'fr', 'de'] | ||||
|         self.DL.params['subtitleslangs'] = langs | ||||
|         subtitles = self.getSubtitles() | ||||
|         for lang in langs: | ||||
|             self.assertTrue(subtitles.get(lang) is not None, 'Subtitles for \'%s\' not extracted' % lang) | ||||
|         self.assertFalse(subtitles) | ||||
|  | ||||
|  | ||||
| class TestWallaSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://vod.walla.co.il/movie/2705958/the-yes-men' | ||||
|     IE = WallaIE | ||||
|  | ||||
|     def test_list_subtitles(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['listsubtitles'] = True | ||||
|         info_dict = self.getInfoDict() | ||||
|         self.assertEqual(info_dict, None) | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['writesubtitles'] = True | ||||
| @@ -315,19 +192,13 @@ class TestWallaSubtitles(BaseTestSubtitles): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(len(subtitles), 0) | ||||
|         self.assertFalse(subtitles) | ||||
|  | ||||
|  | ||||
| class TestCeskaTelevizeSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://www.ceskatelevize.cz/ivysilani/10600540290-u6-uzasny-svet-techniky' | ||||
|     IE = CeskaTelevizeIE | ||||
|  | ||||
|     def test_list_subtitles(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['listsubtitles'] = True | ||||
|         info_dict = self.getInfoDict() | ||||
|         self.assertEqual(info_dict, None) | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.expect_warning('Automatic Captions not supported by this server') | ||||
|         self.DL.params['writesubtitles'] = True | ||||
| @@ -342,7 +213,96 @@ class TestCeskaTelevizeSubtitles(BaseTestSubtitles): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(len(subtitles), 0) | ||||
|         self.assertFalse(subtitles) | ||||
|  | ||||
|  | ||||
| class TestLyndaSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://www.lynda.com/Bootstrap-tutorials/Using-exercise-files/110885/114408-4.html' | ||||
|     IE = LyndaIE | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(set(subtitles.keys()), set(['en'])) | ||||
|         self.assertEqual(md5(subtitles['en']), '09bbe67222259bed60deaa26997d73a7') | ||||
|  | ||||
|  | ||||
| class TestNPOSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://www.npo.nl/nos-journaal/28-08-2014/POW_00722860' | ||||
|     IE = NPOIE | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(set(subtitles.keys()), set(['nl'])) | ||||
|         self.assertEqual(md5(subtitles['nl']), 'fc6435027572b63fb4ab143abd5ad3f4') | ||||
|  | ||||
|  | ||||
| class TestMTVSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://www.cc.com/video-clips/kllhuv/stand-up-greg-fitzsimmons--uncensored---too-good-of-a-mother' | ||||
|     IE = ComedyCentralIE | ||||
|  | ||||
|     def getInfoDict(self): | ||||
|         return super(TestMTVSubtitles, self).getInfoDict()['entries'][0] | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(set(subtitles.keys()), set(['en'])) | ||||
|         self.assertEqual(md5(subtitles['en']), 'b9f6ca22a6acf597ec76f61749765e65') | ||||
|  | ||||
|  | ||||
| class TestNRKSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://tv.nrk.no/serie/ikke-gjoer-dette-hjemme/DMPV73000411/sesong-2/episode-1' | ||||
|     IE = NRKTVIE | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(set(subtitles.keys()), set(['no'])) | ||||
|         self.assertEqual(md5(subtitles['no']), '1d221e6458c95c5494dcd38e6a1f129a') | ||||
|  | ||||
|  | ||||
| class TestRaiSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://www.rai.tv/dl/RaiTV/programmi/media/ContentItem-cb27157f-9dd0-4aee-b788-b1f67643a391.html' | ||||
|     IE = RaiIE | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(set(subtitles.keys()), set(['it'])) | ||||
|         self.assertEqual(md5(subtitles['it']), 'b1d90a98755126b61e667567a1f6680a') | ||||
|  | ||||
|  | ||||
| class TestVikiSubtitles(BaseTestSubtitles): | ||||
|     url = 'http://www.viki.com/videos/1060846v-punch-episode-18' | ||||
|     IE = VikiIE | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(set(subtitles.keys()), set(['en'])) | ||||
|         self.assertEqual(md5(subtitles['en']), '53cb083a5914b2d84ef1ab67b880d18a') | ||||
|  | ||||
|  | ||||
| class TestThePlatformSubtitles(BaseTestSubtitles): | ||||
|     # from http://www.3playmedia.com/services-features/tools/integrations/theplatform/ | ||||
|     # (see http://theplatform.com/about/partners/type/subtitles-closed-captioning/) | ||||
|     url = 'theplatform:JFUjUE1_ehvq' | ||||
|     IE = ThePlatformIE | ||||
|  | ||||
|     def test_allsubtitles(self): | ||||
|         self.DL.params['writesubtitles'] = True | ||||
|         self.DL.params['allsubtitles'] = True | ||||
|         subtitles = self.getSubtitles() | ||||
|         self.assertEqual(set(subtitles.keys()), set(['en'])) | ||||
|         self.assertEqual(md5(subtitles['en']), '97e7670cbae3c4d26ae8bcc7fdd78d4b') | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jaime Marquínez Ferrándiz
					Jaime Marquínez Ferrándiz