| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | #!/usr/bin/env python | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  | from __future__ import unicode_literals | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Allow direct execution | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | import unittest | 
					
						
							|  |  |  | sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-25 03:47:32 +01:00
										 |  |  | from test.helper import FakeYDL, md5 | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from youtube_dl.extractor import ( | 
					
						
							| 
									
										
										
										
											2014-02-03 05:18:30 +01:00
										 |  |  |     BlipTVIE, | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  |     YoutubeIE, | 
					
						
							|  |  |  |     DailymotionIE, | 
					
						
							|  |  |  |     TEDIE, | 
					
						
							| 
									
										
										
										
											2014-02-03 20:19:23 +07:00
										 |  |  |     VimeoIE, | 
					
						
							| 
									
										
										
										
											2014-10-07 22:23:05 +07:00
										 |  |  |     WallaIE, | 
					
						
							| 
									
										
										
										
											2015-01-07 05:04:15 +06:00
										 |  |  |     CeskaTelevizeIE, | 
					
						
							| 
									
										
										
										
											2015-02-18 17:46:33 +01:00
										 |  |  |     LyndaIE, | 
					
						
							| 
									
										
										
										
											2015-02-18 17:57:10 +01:00
										 |  |  |     NPOIE, | 
					
						
							| 
									
										
										
										
											2015-02-18 18:27:45 +01:00
										 |  |  |     ComedyCentralIE, | 
					
						
							| 
									
										
										
										
											2015-02-18 18:57:01 +01:00
										 |  |  |     NRKTVIE, | 
					
						
							| 
									
										
										
										
											2015-02-18 20:14:42 +01:00
										 |  |  |     RaiIE, | 
					
						
							| 
									
										
										
										
											2015-02-18 20:37:16 +01:00
										 |  |  |     VikiIE, | 
					
						
							| 
									
										
										
										
											2015-02-19 14:54:50 +01:00
										 |  |  |     ThePlatformIE, | 
					
						
							| 
									
										
										
										
											2015-02-23 21:52:07 +01:00
										 |  |  |     RTVEALaCartaIE, | 
					
						
							| 
									
										
										
										
											2015-03-11 22:00:37 +06:00
										 |  |  |     FunnyOrDieIE, | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BaseTestSubtitles(unittest.TestCase): | 
					
						
							|  |  |  |     url = None | 
					
						
							|  |  |  |     IE = None | 
					
						
							| 
									
										
										
										
											2014-11-23 20:41:03 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  |     def setUp(self): | 
					
						
							|  |  |  |         self.DL = FakeYDL() | 
					
						
							| 
									
										
										
										
											2015-02-15 18:03:41 +01:00
										 |  |  |         self.ie = self.IE() | 
					
						
							|  |  |  |         self.DL.add_info_extractor(self.ie) | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def getInfoDict(self): | 
					
						
							| 
									
										
										
										
											2015-02-15 18:03:41 +01:00
										 |  |  |         info_dict = self.DL.extract_info(self.url, download=False) | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  |         return info_dict | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def getSubtitles(self): | 
					
						
							|  |  |  |         info_dict = self.getInfoDict() | 
					
						
							| 
									
										
										
										
											2015-02-16 21:12:31 +01:00
										 |  |  |         subtitles = info_dict['requested_subtitles'] | 
					
						
							| 
									
										
										
										
											2015-02-15 18:03:41 +01:00
										 |  |  |         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()) | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TestYoutubeSubtitles(BaseTestSubtitles): | 
					
						
							|  |  |  |     url = 'QRS8MkLhQmM' | 
					
						
							|  |  |  |     IE = YoutubeIE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_youtube_allsubtitles(self): | 
					
						
							|  |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['allsubtitles'] = True | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							|  |  |  |         self.assertEqual(len(subtitles.keys()), 13) | 
					
						
							| 
									
										
										
										
											2015-02-22 11:49:27 +01:00
										 |  |  |         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) | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_youtube_subtitles_sbv_format(self): | 
					
						
							|  |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['subtitlesformat'] = 'sbv' | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							|  |  |  |         self.assertEqual(md5(subtitles['en']), '13aeaa0c245a8bed9a451cb643e3ad8b') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_youtube_subtitles_vtt_format(self): | 
					
						
							|  |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['subtitlesformat'] = 'vtt' | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							| 
									
										
										
										
											2013-11-28 06:14:17 +01:00
										 |  |  |         self.assertEqual(md5(subtitles['en']), '3cb210999d3e021bd6c7f0ea751eab06') | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_youtube_automatic_captions(self): | 
					
						
							|  |  |  |         self.url = '8YoUxe5ncPo' | 
					
						
							|  |  |  |         self.DL.params['writeautomaticsub'] = True | 
					
						
							|  |  |  |         self.DL.params['subtitleslangs'] = ['it'] | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							|  |  |  |         self.assertTrue(subtitles['it'] is not None) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-31 14:15:16 +01:00
										 |  |  |     def test_youtube_translated_subtitles(self): | 
					
						
							|  |  |  |         # This video has a subtitles track, which can be translated | 
					
						
							|  |  |  |         self.url = 'Ky9eprVWzlI' | 
					
						
							|  |  |  |         self.DL.params['writeautomaticsub'] = True | 
					
						
							|  |  |  |         self.DL.params['subtitleslangs'] = ['it'] | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							|  |  |  |         self.assertTrue(subtitles['it'] is not None) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  |     def test_youtube_nosubtitles(self): | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  |         self.DL.expect_warning('video doesn\'t have subtitles') | 
					
						
							| 
									
										
										
										
											2014-07-11 22:08:04 +07:00
										 |  |  |         self.url = 'n5BB19UTcdA' | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['allsubtitles'] = True | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							| 
									
										
										
										
											2015-02-21 22:31:53 +01:00
										 |  |  |         self.assertFalse(subtitles) | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TestDailymotionSubtitles(BaseTestSubtitles): | 
					
						
							|  |  |  |     url = 'http://www.dailymotion.com/video/xczg00' | 
					
						
							|  |  |  |     IE = DailymotionIE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_allsubtitles(self): | 
					
						
							|  |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['allsubtitles'] = True | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							| 
									
										
										
										
											2015-02-15 14:59:00 +01:00
										 |  |  |         self.assertTrue(len(subtitles.keys()) >= 6) | 
					
						
							| 
									
										
										
										
											2015-02-22 11:49:27 +01:00
										 |  |  |         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) | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_nosubtitles(self): | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  |         self.DL.expect_warning('video doesn\'t have subtitles') | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  |         self.url = 'http://www.dailymotion.com/video/x12u166_le-zapping-tele-star-du-08-aout-2013_tv' | 
					
						
							|  |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['allsubtitles'] = True | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							| 
									
										
										
										
											2015-02-21 22:31:53 +01:00
										 |  |  |         self.assertFalse(subtitles) | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TestTedSubtitles(BaseTestSubtitles): | 
					
						
							|  |  |  |     url = 'http://www.ted.com/talks/dan_dennett_on_our_consciousness.html' | 
					
						
							|  |  |  |     IE = TEDIE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_allsubtitles(self): | 
					
						
							|  |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['allsubtitles'] = True | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							| 
									
										
										
										
											2014-04-21 13:20:14 +02:00
										 |  |  |         self.assertTrue(len(subtitles.keys()) >= 28) | 
					
						
							| 
									
										
										
										
											2015-02-22 11:49:27 +01:00
										 |  |  |         self.assertEqual(md5(subtitles['en']), '4262c1665ff928a2dada178f62cb8d14') | 
					
						
							|  |  |  |         self.assertEqual(md5(subtitles['fr']), '66a63f7f42c97a50f8c0e90bc7797bb5') | 
					
						
							|  |  |  |         for lang in ['es', 'fr', 'de']: | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  |             self.assertTrue(subtitles.get(lang) is not None, 'Subtitles for \'%s\' not extracted' % lang) | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-03 05:18:30 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | class TestBlipTVSubtitles(BaseTestSubtitles): | 
					
						
							|  |  |  |     url = 'http://blip.tv/a/a-6603250' | 
					
						
							|  |  |  |     IE = BlipTVIE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     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']), '5b75c300af65fe4476dff79478bb93e4') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-03 20:19:23 +07:00
										 |  |  | class TestVimeoSubtitles(BaseTestSubtitles): | 
					
						
							|  |  |  |     url = 'http://vimeo.com/76979871' | 
					
						
							|  |  |  |     IE = VimeoIE | 
					
						
							| 
									
										
										
										
											2014-02-03 20:24:11 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-03 20:19:23 +07:00
										 |  |  |     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'])) | 
					
						
							| 
									
										
										
										
											2015-02-22 11:49:27 +01:00
										 |  |  |         self.assertEqual(md5(subtitles['en']), '8062383cf4dec168fc40a088aa6d5888') | 
					
						
							|  |  |  |         self.assertEqual(md5(subtitles['fr']), 'b6191146a6c5d3a452244d853fde6dc8') | 
					
						
							| 
									
										
										
										
											2014-02-03 20:19:23 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_nosubtitles(self): | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  |         self.DL.expect_warning('video doesn\'t have subtitles') | 
					
						
							| 
									
										
										
										
											2014-02-03 20:19:23 +07:00
										 |  |  |         self.url = 'http://vimeo.com/56015672' | 
					
						
							|  |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['allsubtitles'] = True | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							| 
									
										
										
										
											2015-02-21 22:31:53 +01:00
										 |  |  |         self.assertFalse(subtitles) | 
					
						
							| 
									
										
										
										
											2014-02-03 20:19:23 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-10-09 21:10:07 +07:00
										 |  |  | class TestWallaSubtitles(BaseTestSubtitles): | 
					
						
							| 
									
										
										
										
											2014-10-07 22:23:05 +07:00
										 |  |  |     url = 'http://vod.walla.co.il/movie/2705958/the-yes-men' | 
					
						
							|  |  |  |     IE = WallaIE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_allsubtitles(self): | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  |         self.DL.expect_warning('Automatic Captions not supported by this server') | 
					
						
							| 
									
										
										
										
											2014-10-07 22:23:05 +07:00
										 |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['allsubtitles'] = True | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							|  |  |  |         self.assertEqual(set(subtitles.keys()), set(['heb'])) | 
					
						
							|  |  |  |         self.assertEqual(md5(subtitles['heb']), 'e758c5d7cb982f6bef14f377ec7a3920') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_nosubtitles(self): | 
					
						
							| 
									
										
										
										
											2014-11-16 15:17:48 +01:00
										 |  |  |         self.DL.expect_warning('video doesn\'t have subtitles') | 
					
						
							| 
									
										
										
										
											2014-10-07 22:23:05 +07:00
										 |  |  |         self.url = 'http://vod.walla.co.il/movie/2642630/one-direction-all-for-one' | 
					
						
							|  |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['allsubtitles'] = True | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							| 
									
										
										
										
											2015-02-21 22:31:53 +01:00
										 |  |  |         self.assertFalse(subtitles) | 
					
						
							| 
									
										
										
										
											2014-10-07 22:23:05 +07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-07 05:04:15 +06:00
										 |  |  | class TestCeskaTelevizeSubtitles(BaseTestSubtitles): | 
					
						
							|  |  |  |     url = 'http://www.ceskatelevize.cz/ivysilani/10600540290-u6-uzasny-svet-techniky' | 
					
						
							|  |  |  |     IE = CeskaTelevizeIE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     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() | 
					
						
							|  |  |  |         self.assertEqual(set(subtitles.keys()), set(['cs'])) | 
					
						
							| 
									
										
										
										
											2015-02-15 14:59:00 +01:00
										 |  |  |         self.assertTrue(len(subtitles['cs']) > 20000) | 
					
						
							| 
									
										
										
										
											2015-01-07 05:04:15 +06:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_nosubtitles(self): | 
					
						
							|  |  |  |         self.DL.expect_warning('video doesn\'t have subtitles') | 
					
						
							|  |  |  |         self.url = 'http://www.ceskatelevize.cz/ivysilani/ivysilani/10441294653-hyde-park-civilizace/214411058091220' | 
					
						
							|  |  |  |         self.DL.params['writesubtitles'] = True | 
					
						
							|  |  |  |         self.DL.params['allsubtitles'] = True | 
					
						
							|  |  |  |         subtitles = self.getSubtitles() | 
					
						
							| 
									
										
										
										
											2015-02-21 22:31:53 +01:00
										 |  |  |         self.assertFalse(subtitles) | 
					
						
							| 
									
										
										
										
											2015-01-07 05:04:15 +06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-18 17:46:33 +01:00
										 |  |  | 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') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-18 17:57:10 +01:00
										 |  |  | 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') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-18 18:27:45 +01:00
										 |  |  | 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') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-18 18:57:01 +01:00
										 |  |  | 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'])) | 
					
						
							| 
									
										
										
										
											2015-05-27 15:23:34 +08:00
										 |  |  |         self.assertEqual(md5(subtitles['no']), '544fa917d3197fcbee64634559221cc2') | 
					
						
							| 
									
										
										
										
											2015-02-18 18:57:01 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-18 20:14:42 +01:00
										 |  |  | 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') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-18 20:37:16 +01:00
										 |  |  | 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'])) | 
					
						
							| 
									
										
										
										
											2015-02-22 11:52:22 +01:00
										 |  |  |         self.assertEqual(md5(subtitles['en']), '53cb083a5914b2d84ef1ab67b880d18a') | 
					
						
							| 
									
										
										
										
											2015-02-18 20:37:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-19 14:54:50 +01:00
										 |  |  | 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') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-23 21:52:07 +01:00
										 |  |  | 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') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-11 22:00:37 +06:00
										 |  |  | class TestFunnyOrDieSubtitles(BaseTestSubtitles): | 
					
						
							|  |  |  |     url = 'http://www.funnyordie.com/videos/224829ff6d/judd-apatow-will-direct-your-vine' | 
					
						
							|  |  |  |     IE = FunnyOrDieIE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     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']), 'c5593c193eacd353596c11c2d4f9ecc4') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-10 12:28:21 +01:00
										 |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     unittest.main() |