diff options
author | Philipp Hagemeister <[email protected]> | 2013-06-27 19:13:11 +0200 |
---|---|---|
committer | Philipp Hagemeister <[email protected]> | 2013-06-27 19:13:11 +0200 |
commit | 2eb88d953f25e178881c1415c68fea1f770a7ee6 (patch) | |
tree | 42832aa966220d4bfbd8fced85b3bd6e3e524846 | |
parent | 6b47c7f24ef7fee9f714a71f51c27ff61ed632e9 (diff) | |
download | youtube-dl-2eb88d953f25e178881c1415c68fea1f770a7ee6.tar.gz youtube-dl-2eb88d953f25e178881c1415c68fea1f770a7ee6.zip |
Allow _TESTS attribute for IEs with multiple tests
This also improves the numbering of duplicate tests
-rw-r--r-- | test/test_download.py | 12 | ||||
-rw-r--r-- | test/tests.json | 38 | ||||
-rw-r--r-- | youtube_dl/extractor/youtube.py | 38 |
3 files changed, 47 insertions, 41 deletions
diff --git a/test/test_download.py b/test/test_download.py index 0428a79fe..dbb73d32a 100644 --- a/test/test_download.py +++ b/test/test_download.py @@ -63,6 +63,9 @@ for ie in youtube_dl.extractor.gen_extractors(): if t: t['name'] = type(ie).__name__[:-len('IE')] defs.append(t) + for t in getattr(ie, '_TESTS', []): + t['name'] = type(ie).__name__[:-len('IE')] + defs.append(t) with io.open(PARAMETERS_FILE, encoding='utf-8') as pf: @@ -162,9 +165,12 @@ def generator(test_case): ### And add them to TestDownload for n, test_case in enumerate(defs): test_method = generator(test_case) - test_method.__name__ = "test_{0}".format(test_case["name"]) - if getattr(TestDownload, test_method.__name__, False): - test_method.__name__ = "test_{0}_{1}".format(test_case["name"], n) + tname = 'test_' + str(test_case['name']) + i = 1 + while hasattr(TestDownload, tname): + tname = 'test_' + test_case['name'] + '_' + str(i) + i += 1 + test_method.__name__ = tname setattr(TestDownload, test_method.__name__, test_method) del test_method diff --git a/test/tests.json b/test/tests.json index f0cec8384..fcb3074c9 100644 --- a/test/tests.json +++ b/test/tests.json @@ -1,43 +1,5 @@ [ { - "name": "Youtube", - "url": "http://www.youtube.com/watch?v=BaW_jenozKc", - "file": "BaW_jenozKc.mp4", - "info_dict": { - "title": "youtube-dl test video \"'/\\ä↭𝕐", - "uploader": "Philipp Hagemeister", - "uploader_id": "phihag", - "upload_date": "20121002", - "description": "test chars: \"'/\\ä↭𝕐\n\nThis is a test video for youtube-dl.\n\nFor more information, contact [email protected] ." - } - }, - { - "name": "Youtube", - "url": "http://www.youtube.com/watch?v=1ltcDfZMA3U", - "file": "1ltcDfZMA3U.flv", - "note": "Test VEVO video (#897)", - "info_dict": { - "upload_date": "20070518", - "title": "Maps - It Will Find You", - "description": "Music video by Maps performing It Will Find You.", - "uploader": "MuteUSA", - "uploader_id": "MuteUSA" - } - }, - { - "name": "Youtube", - "url": "http://www.youtube.com/watch?v=UxxajLWwzqY", - "file": "UxxajLWwzqY.mp4", - "note": "Test generic use_cipher_signature video (#897)", - "info_dict": { - "upload_date": "20120506", - "title": "Icona Pop - I Love It (feat. Charli XCX) [OFFICIAL VIDEO]", - "description": "md5:b085c9804f5ab69f4adea963a2dceb3c", - "uploader": "IconaPop", - "uploader_id": "IconaPop" - } - }, - { "name": "Dailymotion", "md5": "392c4b85a60a90dc4792da41ce3144eb", "url": "http://www.dailymotion.com/video/x33vw9_tutoriel-de-youtubeur-dl-des-video_tech", diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 6c8aa9ade..def6f7a74 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -81,6 +81,44 @@ class YoutubeIE(InfoExtractor): '46': '1080x1920', } IE_NAME = u'youtube' + _TESTS = [ + { + "url": "http://www.youtube.com/watch?v=BaW_jenozKc", + "file": "BaW_jenozKc.mp4", + "info_dict": { + "title": "youtube-dl test video \"'/\\ä↭𝕐", + "uploader": "Philipp Hagemeister", + "uploader_id": "phihag", + "upload_date": "20121002", + "description": "test chars: \"'/\\ä↭𝕐\n\nThis is a test video for youtube-dl.\n\nFor more information, contact [email protected] ." + } + }, + { + "url": "http://www.youtube.com/watch?v=1ltcDfZMA3U", + "file": "1ltcDfZMA3U.flv", + "note": "Test VEVO video (#897)", + "info_dict": { + "upload_date": "20070518", + "title": "Maps - It Will Find You", + "description": "Music video by Maps performing It Will Find You.", + "uploader": "MuteUSA", + "uploader_id": "MuteUSA" + } + }, + { + "url": "http://www.youtube.com/watch?v=UxxajLWwzqY", + "file": "UxxajLWwzqY.mp4", + "note": "Test generic use_cipher_signature video (#897)", + "info_dict": { + "upload_date": "20120506", + "title": "Icona Pop - I Love It (feat. Charli XCX) [OFFICIAL VIDEO]", + "description": "md5:b085c9804f5ab69f4adea963a2dceb3c", + "uploader": "IconaPop", + "uploader_id": "IconaPop" + } + } + ] + @classmethod def suitable(cls, url): |