@ -7,7 +7,7 @@ import sys
import unittest
import unittest
sys . path . insert ( 0 , os . path . dirname ( os . path . dirname ( os . path . abspath ( __file__ ) ) ) )
sys . path . insert ( 0 , os . path . dirname ( os . path . dirname ( os . path . abspath ( __file__ ) ) ) )
from test . helper import FakeYDL , md5
from test . helper import FakeYDL , md5 , is_download_test
from yt_dlp . extractor import (
from yt_dlp . extractor import (
@ -30,6 +30,7 @@ from yt_dlp.extractor import (
)
)
@is_download_test
class BaseTestSubtitles ( unittest . TestCase ) :
class BaseTestSubtitles ( unittest . TestCase ) :
url = None
url = None
IE = None
IE = None
@ -55,6 +56,7 @@ class BaseTestSubtitles(unittest.TestCase):
return dict ( ( l , sub_info [ ' data ' ] ) for l , sub_info in subtitles . items ( ) )
return dict ( ( l , sub_info [ ' data ' ] ) for l , sub_info in subtitles . items ( ) )
@is_download_test
class TestYoutubeSubtitles ( BaseTestSubtitles ) :
class TestYoutubeSubtitles ( BaseTestSubtitles ) :
url = ' QRS8MkLhQmM '
url = ' QRS8MkLhQmM '
IE = YoutubeIE
IE = YoutubeIE
@ -111,6 +113,7 @@ class TestYoutubeSubtitles(BaseTestSubtitles):
self . assertFalse ( subtitles )
self . assertFalse ( subtitles )
@is_download_test
class TestDailymotionSubtitles ( BaseTestSubtitles ) :
class TestDailymotionSubtitles ( BaseTestSubtitles ) :
url = ' http://www.dailymotion.com/video/xczg00 '
url = ' http://www.dailymotion.com/video/xczg00 '
IE = DailymotionIE
IE = DailymotionIE
@ -134,6 +137,7 @@ class TestDailymotionSubtitles(BaseTestSubtitles):
self . assertFalse ( subtitles )
self . assertFalse ( subtitles )
@is_download_test
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
@ -149,6 +153,7 @@ class TestTedSubtitles(BaseTestSubtitles):
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 )
@is_download_test
class TestVimeoSubtitles ( BaseTestSubtitles ) :
class TestVimeoSubtitles ( BaseTestSubtitles ) :
url = ' http://vimeo.com/76979871 '
url = ' http://vimeo.com/76979871 '
IE = VimeoIE
IE = VimeoIE
@ -170,6 +175,7 @@ class TestVimeoSubtitles(BaseTestSubtitles):
self . assertFalse ( subtitles )
self . assertFalse ( subtitles )
@is_download_test
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
@ -191,6 +197,7 @@ class TestWallaSubtitles(BaseTestSubtitles):
self . assertFalse ( subtitles )
self . assertFalse ( subtitles )
@is_download_test
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
@ -212,6 +219,7 @@ class TestCeskaTelevizeSubtitles(BaseTestSubtitles):
self . assertFalse ( subtitles )
self . assertFalse ( subtitles )
@is_download_test
class TestLyndaSubtitles ( BaseTestSubtitles ) :
class TestLyndaSubtitles ( BaseTestSubtitles ) :
url = ' http://www.lynda.com/Bootstrap-tutorials/Using-exercise-files/110885/114408-4.html '
url = ' http://www.lynda.com/Bootstrap-tutorials/Using-exercise-files/110885/114408-4.html '
IE = LyndaIE
IE = LyndaIE
@ -224,6 +232,7 @@ class TestLyndaSubtitles(BaseTestSubtitles):
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 09bbe67222259bed60deaa26997d73a7 ' )
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 09bbe67222259bed60deaa26997d73a7 ' )
@is_download_test
class TestNPOSubtitles ( BaseTestSubtitles ) :
class TestNPOSubtitles ( BaseTestSubtitles ) :
url = ' http://www.npo.nl/nos-journaal/28-08-2014/POW_00722860 '
url = ' http://www.npo.nl/nos-journaal/28-08-2014/POW_00722860 '
IE = NPOIE
IE = NPOIE
@ -236,6 +245,7 @@ class TestNPOSubtitles(BaseTestSubtitles):
self . assertEqual ( md5 ( subtitles [ ' nl ' ] ) , ' fc6435027572b63fb4ab143abd5ad3f4 ' )
self . assertEqual ( md5 ( subtitles [ ' nl ' ] ) , ' fc6435027572b63fb4ab143abd5ad3f4 ' )
@is_download_test
class TestMTVSubtitles ( BaseTestSubtitles ) :
class TestMTVSubtitles ( BaseTestSubtitles ) :
url = ' http://www.cc.com/video-clips/p63lk0/adam-devine-s-house-party-chasing-white-swans '
url = ' http://www.cc.com/video-clips/p63lk0/adam-devine-s-house-party-chasing-white-swans '
IE = ComedyCentralIE
IE = ComedyCentralIE
@ -251,6 +261,7 @@ class TestMTVSubtitles(BaseTestSubtitles):
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 78206b8d8a0cfa9da64dc026eea48961 ' )
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 78206b8d8a0cfa9da64dc026eea48961 ' )
@is_download_test
class TestNRKSubtitles ( BaseTestSubtitles ) :
class TestNRKSubtitles ( BaseTestSubtitles ) :
url = ' http://tv.nrk.no/serie/ikke-gjoer-dette-hjemme/DMPV73000411/sesong-2/episode-1 '
url = ' http://tv.nrk.no/serie/ikke-gjoer-dette-hjemme/DMPV73000411/sesong-2/episode-1 '
IE = NRKTVIE
IE = NRKTVIE
@ -263,6 +274,7 @@ class TestNRKSubtitles(BaseTestSubtitles):
self . assertEqual ( md5 ( subtitles [ ' no ' ] ) , ' 544fa917d3197fcbee64634559221cc2 ' )
self . assertEqual ( md5 ( subtitles [ ' no ' ] ) , ' 544fa917d3197fcbee64634559221cc2 ' )
@is_download_test
class TestRaiPlaySubtitles ( BaseTestSubtitles ) :
class TestRaiPlaySubtitles ( BaseTestSubtitles ) :
IE = RaiPlayIE
IE = RaiPlayIE
@ -283,6 +295,7 @@ class TestRaiPlaySubtitles(BaseTestSubtitles):
self . assertEqual ( md5 ( subtitles [ ' it ' ] ) , ' 4b3264186fbb103508abe5311cfcb9cd ' )
self . assertEqual ( md5 ( subtitles [ ' it ' ] ) , ' 4b3264186fbb103508abe5311cfcb9cd ' )
@is_download_test
class TestVikiSubtitles ( BaseTestSubtitles ) :
class TestVikiSubtitles ( BaseTestSubtitles ) :
url = ' http://www.viki.com/videos/1060846v-punch-episode-18 '
url = ' http://www.viki.com/videos/1060846v-punch-episode-18 '
IE = VikiIE
IE = VikiIE
@ -295,6 +308,7 @@ class TestVikiSubtitles(BaseTestSubtitles):
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 53cb083a5914b2d84ef1ab67b880d18a ' )
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 53cb083a5914b2d84ef1ab67b880d18a ' )
@is_download_test
class TestThePlatformSubtitles ( BaseTestSubtitles ) :
class TestThePlatformSubtitles ( BaseTestSubtitles ) :
# from http://www.3playmedia.com/services-features/tools/integrations/theplatform/
# from http://www.3playmedia.com/services-features/tools/integrations/theplatform/
# (see http://theplatform.com/about/partners/type/subtitles-closed-captioning/)
# (see http://theplatform.com/about/partners/type/subtitles-closed-captioning/)
@ -309,6 +323,7 @@ class TestThePlatformSubtitles(BaseTestSubtitles):
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 97e7670cbae3c4d26ae8bcc7fdd78d4b ' )
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 97e7670cbae3c4d26ae8bcc7fdd78d4b ' )
@is_download_test
class TestThePlatformFeedSubtitles ( BaseTestSubtitles ) :
class TestThePlatformFeedSubtitles ( BaseTestSubtitles ) :
url = ' http://feed.theplatform.com/f/7wvmTC/msnbc_video-p-test?form=json&pretty=true&range=-40&byGuid=n_hardball_5biden_140207 '
url = ' http://feed.theplatform.com/f/7wvmTC/msnbc_video-p-test?form=json&pretty=true&range=-40&byGuid=n_hardball_5biden_140207 '
IE = ThePlatformFeedIE
IE = ThePlatformFeedIE
@ -321,6 +336,7 @@ class TestThePlatformFeedSubtitles(BaseTestSubtitles):
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 48649a22e82b2da21c9a67a395eedade ' )
self . assertEqual ( md5 ( subtitles [ ' en ' ] ) , ' 48649a22e82b2da21c9a67a395eedade ' )
@is_download_test
class TestRtveSubtitles ( BaseTestSubtitles ) :
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/ '
url = ' http://www.rtve.es/alacarta/videos/los-misterios-de-laura/misterios-laura-capitulo-32-misterio-del-numero-17-2-parte/2428621/ '
IE = RTVEALaCartaIE
IE = RTVEALaCartaIE
@ -335,6 +351,7 @@ class TestRtveSubtitles(BaseTestSubtitles):
self . assertEqual ( md5 ( subtitles [ ' es ' ] ) , ' 69e70cae2d40574fb7316f31d6eb7fca ' )
self . assertEqual ( md5 ( subtitles [ ' es ' ] ) , ' 69e70cae2d40574fb7316f31d6eb7fca ' )
@is_download_test
class TestDemocracynowSubtitles ( BaseTestSubtitles ) :
class TestDemocracynowSubtitles ( BaseTestSubtitles ) :
url = ' http://www.democracynow.org/shows/2015/7/3 '
url = ' http://www.democracynow.org/shows/2015/7/3 '
IE = DemocracynowIE
IE = DemocracynowIE