diff options
| -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 phihag@phihag.de ." -    } -  }, -  { -    "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 phihag@phihag.de ." +            } +          }, +          { +            "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):  | 
