diff options
| author | Filippo Valsorda <filippo.valsorda@gmail.com> | 2012-12-17 16:23:55 +0100 | 
|---|---|---|
| committer | Filippo Valsorda <filippo.valsorda@gmail.com> | 2012-12-17 16:23:55 +0100 | 
| commit | 5e5ddcfbcf62d975e46ffaa0aaee8744f70913e1 (patch) | |
| tree | 36e327f3c86ccfc0479881a527278eab59b63808 /test | |
| parent | 5910e210f48826c6d078ef3744b25d209535c3ae (diff) | |
test subtitles
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_youtube_lists.py | 7 | ||||
| -rw-r--r-- | test/test_youtube_subtitles.py | 59 | 
2 files changed, 65 insertions, 1 deletions
| diff --git a/test/test_youtube_lists.py b/test/test_youtube_lists.py index f9c344da1..e352e5ab9 100644 --- a/test/test_youtube_lists.py +++ b/test/test_youtube_lists.py @@ -3,6 +3,7 @@  import sys  import unittest  import socket +import json  # Allow direct execution  import os @@ -11,6 +12,10 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))  from youtube_dl.InfoExtractors import YoutubeUserIE,YoutubePlaylistIE  from youtube_dl.utils import * +PARAMETERS_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "parameters.json") +with io.open(PARAMETERS_FILE, encoding='utf-8') as pf: +    parameters = json.load(pf) +  # General configuration (from __init__, not very elegant...)  jar = compat_cookiejar.CookieJar()  cookie_processor = compat_urllib_request.HTTPCookieProcessor(jar) @@ -22,7 +27,7 @@ socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words)  class FakeDownloader(object):      def __init__(self):          self.result = [] -        self.params = {} +        self.params = parameters      def to_screen(self, s):          print(s)      def trouble(self, s): diff --git a/test/test_youtube_subtitles.py b/test/test_youtube_subtitles.py new file mode 100644 index 000000000..64a391d14 --- /dev/null +++ b/test/test_youtube_subtitles.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python + +import sys +import unittest +import socket +import json +import io +import hashlib + +# Allow direct execution +import os +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from youtube_dl.InfoExtractors import YoutubeIE +from youtube_dl.utils import * + +PARAMETERS_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "parameters.json") +with io.open(PARAMETERS_FILE, encoding='utf-8') as pf: +    parameters = json.load(pf) + +# General configuration (from __init__, not very elegant...) +jar = compat_cookiejar.CookieJar() +cookie_processor = compat_urllib_request.HTTPCookieProcessor(jar) +proxy_handler = compat_urllib_request.ProxyHandler() +opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler()) +compat_urllib_request.install_opener(opener) +socket.setdefaulttimeout(300) # 5 minutes should be enough (famous last words) + +class FakeDownloader(object): +    def __init__(self): +        self.result = [] +        self.params = parameters +    def to_screen(self, s): +        print(s) +    def trouble(self, s): +        raise Exception(s) +    def download(self, x): +        self.result.append(x) + +md5 = lambda s: hashlib.md5(s.encode('utf-8')).hexdigest() + +class TestYoutubeSubtitles(unittest.TestCase): +    def test_youtube_subtitles(self): +        DL = FakeDownloader() +        DL.params['writesubtitles'] = True +        IE = YoutubeIE(DL) +        info_dict = IE.extract('QRS8MkLhQmM') +        self.assertEqual(md5(info_dict[0]['subtitles']), 'c3228550d59116f3c29fba370b55d033') + +    def test_youtube_subtitles_it(self): +        DL = FakeDownloader() +        DL.params['writesubtitles'] = True +        DL.params['subtitleslang'] = 'it' +        IE = YoutubeIE(DL) +        info_dict = IE.extract('QRS8MkLhQmM') +        self.assertEqual(md5(info_dict[0]['subtitles']), '132a88a0daf8e1520f393eb58f1f646a') + +if __name__ == '__main__': +    unittest.main() | 
