]>
jfr.im git - yt-dlp.git/blob - test/test_download.py
6 from youtube_dl
.FileDownloader
import FileDownloader
7 from youtube_dl
.InfoExtractors
import YoutubeIE
, DailymotionIE
8 from youtube_dl
.InfoExtractors
import MetacafeIE
, PhotobucketIE
9 from youtube_dl
.InfoExtractors
import FacebookIE
, BlipTVIE
10 from youtube_dl
.InfoExtractors
import VimeoIE
, XVideosIE
13 class DownloadTest(unittest
.TestCase
):
14 #calculated with md5sum:
15 #md5sum (GNU coreutils) 8.19
16 YOUTUBE_MD5
= "8547978241cb87dd6782b10b8e90acc3"
17 YOUTUBE_URL
= "http://www.youtube.com/watch?v=BaW_jenozKc"
18 YOUTUBE_FILE
= "BaW_jenozKc.flv"
22 DAILYMOTION_URL
= "http://www.dailymotion.com/video/x33vw9_tutoriel-de-youtubeur-dl-des-video_tech"
27 METACAFE_URL
= "http://www.metacafe.com/watch/yt-bV9L5Ht9LgY/download_youtube_playlist_with_youtube_dl/"
32 PHOTOBUCKET_URL
= "http://www.metacafe.com/watch/yt-bV9L5Ht9LgY/download_youtube_playlist_with_youtube_dl/"
37 FACEBOOK_URL
= "https://www.facebook.com/video/video.php?v=207446242657384"
42 BLIP_URL
= "https://www.facebook.com/video/video.php?v=207446242657384"
46 VIMEO_URL
= "https://www.facebook.com/video/video.php?v=207446242657384"
50 XVIDEO_URL
= "https://www.facebook.com/video/video.php?v=207446242657384"
54 def test_youtube(self
):
55 #let's download a file from youtube
56 fd
= FileDownloader({})
57 fd
.add_info_extractor(YoutubeIE())
58 fd
.download([DownloadTest
.YOUTUBE_URL
])
59 self
.assertTrue(os
.path
.exists(DownloadTest
.YOUTUBE_FILE
))
60 md5_down_file
= md5_for_file(DownloadTest
.YOUTUBE_FILE
)
61 self
.assertEqual(md5_down_file
, DownloadTest
.YOUTUBE_MD5
)
63 def test_dailymotion(self
):
64 fd
= FileDownloader({})
65 fd
.add_info_extractor(DailymotionIE())
66 fd
.download([DownloadTest
.DAILYMOTION_URL
])
67 self
.assertTrue(os
.path
.exists(DownloadTest
.DAILYMOTION_FILE
))
68 md5_down_file
= md5_for_file(DownloadTest
.DAILYMOTION_FILE
)
69 self
.assertEqual(md5_down_file
, DownloadTest
.DAILYMOTION_MD5
)
72 def test_metacafe(self
):
73 fd
= FileDownloader({})
74 fd
.add_info_extractor(MetacafeIE())
75 fd
.download([DownloadTest
.METACAFE_URL
])
76 self
.assertTrue(os
.path
.exists(DownloadTest
.METACAFE_FILE
))
77 md5_down_file
= md5_for_file(DownloadTest
.METACAFE_FILE
)
78 self
.assertEqual(md5_down_file
, DownloadTest
.METACAFE_MD5
)
80 def test_photobucket(self
):
81 fd
= FileDownloader({})
82 fd
.add_info_extractor(PhotobucketIE())
83 fd
.download([DownloadTest
.PHOTOBUCKET_URL
])
84 self
.assertTrue(os
.path
.exists(DownloadTest
.PHOTOBUCKET_FILE
))
85 md5_down_file
= md5_for_file(DownloadTest
.PHOTOBUCKET_FILE
)
86 self
.assertEqual(md5_down_file
, DownloadTest
.PHOTOBUCKET_MD5
)
89 def test_facebook(self
):
90 fd
= FileDownloader({})
91 fd
.add_info_extractor(FacebookIE())
92 fd
.download([DownloadTest
.FACEBOOK_URL
])
93 self
.assertTrue(os
.path
.exists(DownloadTest
.FACEBOOK_FILE
))
94 md5_down_file
= md5_for_file(DownloadTest
.FACEBOOK_FILE
)
95 self
.assertEqual(md5_down_file
, DownloadTest
.FACEBOOK_MD5
)
98 fd
= FileDownloader({})
99 fd
.add_info_extractor(BlipTVIE())
100 fd
.download([DownloadTest
.BLIP_URL
])
101 self
.assertTrue(os
.path
.exists(DownloadTest
.BLIP_FILE
))
102 md5_down_file
= md5_for_file(DownloadTest
.BLIP_FILE
)
103 self
.assertEqual(md5_down_file
, DownloadTest
.BLIP_MD5
)
106 def test_vimeo(self
):
107 fd
= FileDownloader({})
108 fd
.add_info_extractor(VimeoIE())
109 fd
.download([DownloadTest
.VIMEO_URL
])
110 self
.assertTrue(os
.path
.exists(DownloadTest
.VIMEO_FILE
))
111 md5_down_file
= md5_for_file(DownloadTest
.VIMEO_FILE
)
112 self
.assertEqual(md5_down_file
, DownloadTest
.VIMEO_MD5
)
115 def test_xvideo(self
):
116 fd
= FileDownloader({})
117 fd
.add_info_extractor(XVideosIE())
118 fd
.download([DownloadTest
.XVIDEO_URL
])
119 self
.assertTrue(os
.path
.exists(DownloadTest
.XVIDEO_FILE
))
120 md5_down_file
= md5_for_file(DownloadTest
.XVIDEO_FILE
)
121 self
.assertEqual(md5_down_file
, DownloadTest
.XVIDEO_MD5
)
124 if os
.path
.exists(DownloadTest
.YOUTUBE_FILE
):
125 os
.remove(DownloadTest
.YOUTUBE_FILE
)
126 if os
.path
.exists(DownloadTest
.DAILYMOTION_FILE
):
127 os
.remove(DownloadTest
.DAILYMOTION_FILE
)
128 if os
.path
.exists(DownloadTest
.METACAFE_FILE
):
129 os
.remove(DownloadTest
.METACAFE_FILE
)
130 if os
.path
.exists(DownloadTest
.PHOTOBUCKET_FILE
):
131 os
.remove(DownloadTest
.PHOTOBUCKET_FILE
)
132 if os
.path
.exists(DownloadTest
.FACEBOOK_FILE
):
133 os
.remove(DownloadTest
.FACEBOOK_FILE
)
134 if os
.path
.exists(DownloadTest
.BLIP_FILE
):
135 os
.remove(DownloadTest
.BLIP_FILE
)
136 if os
.path
.exists(DownloadTest
.VIMEO_FILE
):
137 os
.remove(DownloadTest
.VIMEO_FILE
)
138 if os
.path
.exists(DownloadTest
.XVIDEO_FILE
):
139 os
.remove(DownloadTest
.XVIDEO_FILE
)
141 def md5_for_file(f
, block_size
=2**20):
144 data
= f
.read(block_size
)