@ -18,6 +18,13 @@ from youtube_dl.extractor import (
VimeoIE ,
VimeoIE ,
WallaIE ,
WallaIE ,
CeskaTelevizeIE ,
CeskaTelevizeIE ,
LyndaIE ,
NPOIE ,
ComedyCentralIE ,
NRKTVIE ,
RaiIE ,
VikiIE ,
ThePlatformIE ,
)
)
@ -27,42 +34,38 @@ class BaseTestSubtitles(unittest.TestCase):
def setUp ( self ) :
def setUp ( self ) :
self . DL = FakeYDL ( )
self . DL = FakeYDL ( )
self . ie = self . IE ( self . DL )
self . ie = self . IE ( )
self . DL . add_info_extractor ( self . ie )
def getInfoDict ( self ) :
def getInfoDict ( self ) :
info_dict = self . ie. extract ( self . url )
info_dict = self . DL. extract_info ( self . url , download = False )
return info_dict
return info_dict
def getSubtitles ( self ) :
def getSubtitles ( self ) :
info_dict = self . getInfoDict ( )
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 ) :
class TestYoutubeSubtitles ( BaseTestSubtitles ) :
url = ' QRS8MkLhQmM '
url = ' QRS8MkLhQmM '
IE = YoutubeIE
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 ) :
def test_youtube_allsubtitles ( self ) :
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
subtitles = self . getSubtitles ( )
subtitles = self . getSubtitles ( )
self . assertEqual ( len ( subtitles . keys ( ) ) , 13 )
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 ) :
def test_youtube_subtitles_sbv_format ( self ) :
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
@ -76,12 +79,6 @@ class TestYoutubeSubtitles(BaseTestSubtitles):
subtitles = self . getSubtitles ( )
subtitles = self . getSubtitles ( )
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 3cb210999d3e021bd6c7f0ea751eab06 ' )
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 ) :
def test_youtube_automatic_captions ( self ) :
self . url = ' 8YoUxe5ncPo '
self . url = ' 8YoUxe5ncPo '
self . DL . params [ ' writeautomaticsub ' ] = True
self . DL . params [ ' writeautomaticsub ' ] = True
@ -103,55 +100,22 @@ class TestYoutubeSubtitles(BaseTestSubtitles):
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
subtitles = self . getSubtitles ( )
subtitles = self . getSubtitles ( )
self . assertEqual ( len ( subtitles ) , 0 )
self . assertFalse ( subtitles )
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 )
class TestDailymotionSubtitles ( BaseTestSubtitles ) :
class TestDailymotionSubtitles ( BaseTestSubtitles ) :
url = ' http://www.dailymotion.com/video/xczg00 '
url = ' http://www.dailymotion.com/video/xczg00 '
IE = DailymotionIE
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 ) :
def test_allsubtitles ( self ) :
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
subtitles = self . getSubtitles ( )
subtitles = self . getSubtitles ( )
self . assertTrue ( len ( subtitles . keys ( ) ) > = 6 )
self . assertTrue ( len ( subtitles . keys ( ) ) > = 6 )
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 976553874490cba125086bbfea3ff76f ' )
def test_list_subtitles ( self ) :
self . assertEqual ( md5 ( subtitles [ ' fr ' ] ) , ' 594564ec7d588942e384e920e5341792 ' )
self . DL . expect_warning ( ' Automatic Captions not supported by this server ' )
for lang in [ ' es ' , ' fr ' , ' de ' ] :
self . DL . params [ ' listsubtitles ' ] = True
self . assertTrue ( subtitles . get ( lang ) is not None , ' Subtitles for \' %s \' not extracted ' % lang )
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_nosubtitles ( self ) :
def test_nosubtitles ( self ) :
self . DL . expect_warning ( ' video doesn \' t have subtitles ' )
self . DL . expect_warning ( ' video doesn \' t have subtitles ' )
@ -159,61 +123,21 @@ class TestDailymotionSubtitles(BaseTestSubtitles):
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
subtitles = self . getSubtitles ( )
subtitles = self . getSubtitles ( )
self . assertEqual ( len ( subtitles ) , 0 )
self . assertFalse ( subtitles )
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 )
class TestTedSubtitles ( BaseTestSubtitles ) :
class TestTedSubtitles ( BaseTestSubtitles ) :
url = ' http://www.ted.com/talks/dan_dennett_on_our_consciousness.html '
url = ' http://www.ted.com/talks/dan_dennett_on_our_consciousness.html '
IE = TEDIE
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 ) :
def test_allsubtitles ( self ) :
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
subtitles = self . getSubtitles ( )
subtitles = self . getSubtitles ( )
self . assertTrue ( len ( subtitles . keys ( ) ) > = 28 )
self . assertTrue ( len ( subtitles . keys ( ) ) > = 28 )
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 4262c1665ff928a2dada178f62cb8d14 ' )
def test_list_subtitles ( self ) :
self . assertEqual ( md5 ( subtitles [ ' fr ' ] ) , ' 66a63f7f42c97a50f8c0e90bc7797bb5 ' )
self . DL . expect_warning ( ' Automatic Captions not supported by this server ' )
for lang in [ ' es ' , ' fr ' , ' de ' ] :
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 . assertTrue ( subtitles . get ( lang ) is not None , ' Subtitles for \' %s \' not extracted ' % lang )
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 '
url = ' http://blip.tv/a/a-6603250 '
IE = BlipTVIE
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 ) :
def test_allsubtitles ( self ) :
self . DL . expect_warning ( ' Automatic Captions not supported by this server ' )
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
subtitles = self . getSubtitles ( )
subtitles = self . getSubtitles ( )
@ -240,39 +157,13 @@ class TestVimeoSubtitles(BaseTestSubtitles):
url = ' http://vimeo.com/76979871 '
url = ' http://vimeo.com/76979871 '
IE = VimeoIE
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 ) :
def test_allsubtitles ( self ) :
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
subtitles = self . getSubtitles ( )
subtitles = self . getSubtitles ( )
self . assertEqual ( set ( subtitles . keys ( ) ) , set ( [ ' de ' , ' en ' , ' es ' , ' fr ' ] ) )
self . assertEqual ( set ( subtitles . keys ( ) ) , set ( [ ' de ' , ' en ' , ' es ' , ' fr ' ] ) )
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 8062383cf4dec168fc40a088aa6d5888 ' )
def test_list_subtitles ( self ) :
self . assertEqual ( md5 ( subtitles [ ' fr ' ] ) , ' b6191146a6c5d3a452244d853fde6dc8 ' )
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_nosubtitles ( self ) :
def test_nosubtitles ( self ) :
self . DL . expect_warning ( ' video doesn \' t have subtitles ' )
self . DL . expect_warning ( ' video doesn \' t have subtitles ' )
@ -280,27 +171,13 @@ class TestVimeoSubtitles(BaseTestSubtitles):
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
subtitles = self . getSubtitles ( )
subtitles = self . getSubtitles ( )
self . assertEqual ( len ( subtitles ) , 0 )
self . assertFalse ( subtitles )
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 )
class TestWallaSubtitles ( BaseTestSubtitles ) :
class TestWallaSubtitles ( BaseTestSubtitles ) :
url = ' http://vod.walla.co.il/movie/2705958/the-yes-men '
url = ' http://vod.walla.co.il/movie/2705958/the-yes-men '
IE = WallaIE
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 ) :
def test_allsubtitles ( self ) :
self . DL . expect_warning ( ' Automatic Captions not supported by this server ' )
self . DL . expect_warning ( ' Automatic Captions not supported by this server ' )
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
@ -315,19 +192,13 @@ class TestWallaSubtitles(BaseTestSubtitles):
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
subtitles = self . getSubtitles ( )
subtitles = self . getSubtitles ( )
self . assert Equal( len ( subtitles ) , 0 )
self . assert False( subtitles )
class TestCeskaTelevizeSubtitles ( BaseTestSubtitles ) :
class TestCeskaTelevizeSubtitles ( BaseTestSubtitles ) :
url = ' http://www.ceskatelevize.cz/ivysilani/10600540290-u6-uzasny-svet-techniky '
url = ' http://www.ceskatelevize.cz/ivysilani/10600540290-u6-uzasny-svet-techniky '
IE = CeskaTelevizeIE
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 ) :
def test_allsubtitles ( self ) :
self . DL . expect_warning ( ' Automatic Captions not supported by this server ' )
self . DL . expect_warning ( ' Automatic Captions not supported by this server ' )
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
@ -342,7 +213,96 @@ class TestCeskaTelevizeSubtitles(BaseTestSubtitles):
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' writesubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
self . DL . params [ ' allsubtitles ' ] = True
subtitles = self . getSubtitles ( )
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__ ' :
if __name__ == ' __main__ ' :