From 8222d8de88bd23c063500c246676ed028a9aa073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Marqui=CC=81nez=20Ferra=CC=81ndiz?= Date: Tue, 18 Jun 2013 22:14:21 +0200 Subject: Split FileDownloader in two classes: FileDownloader and YoutubeDL YoutubeDL is the class that coordinates everything FileDownloader gets a filename and an info dict and downloads the video. --- test/test_download.py | 16 ++++++++-------- test/test_write_info_json.py | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) (limited to 'test') diff --git a/test/test_download.py b/test/test_download.py index 8d8698478..9af626dca 100644 --- a/test/test_download.py +++ b/test/test_download.py @@ -13,7 +13,7 @@ import binascii # Allow direct execution sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -import youtube_dl.FileDownloader +import youtube_dl.YoutubeDL import youtube_dl.extractor from youtube_dl.utils import * @@ -40,17 +40,17 @@ def _try_rm(filename): md5 = lambda s: hashlib.md5(s.encode('utf-8')).hexdigest() -class FileDownloader(youtube_dl.FileDownloader): +class YoutubeDL(youtube_dl.YoutubeDL): def __init__(self, *args, **kwargs): self.to_stderr = self.to_screen self.processed_info_dicts = [] - return youtube_dl.FileDownloader.__init__(self, *args, **kwargs) + super(YoutubeDL, self).__init__(*args, **kwargs) def report_warning(self, message): # Don't accept warnings during tests raise ExtractorError(message) def process_info(self, info_dict): self.processed_info_dicts.append(info_dict) - return youtube_dl.FileDownloader.process_info(self, info_dict) + return super(YoutubeDL, self).process_info(info_dict) def _file_md5(fn): with open(fn, 'rb') as f: @@ -86,14 +86,14 @@ def generator(test_case): params = self.parameters.copy() params.update(test_case.get('params', {})) - fd = FileDownloader(params) + ydl = YoutubeDL(params) for ie in youtube_dl.extractor.gen_extractors(): - fd.add_info_extractor(ie) + ydl.add_info_extractor(ie) finished_hook_called = set() def _hook(status): if status['status'] == 'finished': finished_hook_called.add(status['filename']) - fd.add_progress_hook(_hook) + ydl.fd.add_progress_hook(_hook) test_cases = test_case.get('playlist', [test_case]) for tc in test_cases: @@ -103,7 +103,7 @@ def generator(test_case): try: for retry in range(1, RETRIES + 1): try: - fd.download([test_case['url']]) + ydl.download([test_case['url']]) except (DownloadError, ExtractorError) as err: if retry == RETRIES: raise diff --git a/test/test_write_info_json.py b/test/test_write_info_json.py index b5eca7649..de6d5180f 100644 --- a/test/test_write_info_json.py +++ b/test/test_write_info_json.py @@ -9,7 +9,7 @@ import unittest # Allow direct execution sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -import youtube_dl.FileDownloader +import youtube_dl.YoutubeDL import youtube_dl.extractor from youtube_dl.utils import * @@ -22,9 +22,9 @@ proxy_handler = compat_urllib_request.ProxyHandler() opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler()) compat_urllib_request.install_opener(opener) -class FileDownloader(youtube_dl.FileDownloader): +class YoutubeDL(youtube_dl.YoutubeDL): def __init__(self, *args, **kwargs): - youtube_dl.FileDownloader.__init__(self, *args, **kwargs) + super(YoutubeDL, self).__init__(*args, **kwargs) self.to_stderr = self.to_screen with io.open(PARAMETERS_FILE, encoding='utf-8') as pf: @@ -49,9 +49,9 @@ class TestInfoJSON(unittest.TestCase): def test_info_json(self): ie = youtube_dl.extractor.YoutubeIE() - fd = FileDownloader(params) - fd.add_info_extractor(ie) - fd.download([TEST_ID]) + ydl = YoutubeDL(params) + ydl.add_info_extractor(ie) + ydl.download([TEST_ID]) self.assertTrue(os.path.exists(INFO_JSON_FILE)) with io.open(INFO_JSON_FILE, 'r', encoding='utf-8') as jsonf: jd = json.load(jsonf) -- cgit v1.2.3