diff options
Diffstat (limited to 'test/test_download.py')
| -rw-r--r-- | test/test_download.py | 61 | 
1 files changed, 36 insertions, 25 deletions
| diff --git a/test/test_download.py b/test/test_download.py index a2f5abcb2..84a98908a 100644 --- a/test/test_download.py +++ b/test/test_download.py @@ -2,6 +2,7 @@  import unittest  import hashlib  import os +import json  from youtube_dl.FileDownloader import FileDownloader  from youtube_dl.InfoExtractors  import YoutubeIE, DailymotionIE @@ -11,16 +12,18 @@ from youtube_dl.InfoExtractors import VimeoIE, XVideosIE  class DownloadTest(unittest.TestCase): +	PARAMETERS_FILE = "test/parameters.json"  	#calculated with md5sum:  	#md5sum (GNU coreutils) 8.19 -	YOUTUBE_MD5 = "8547978241cb87dd6782b10b8e90acc3" + +	YOUTUBE_MD5 = "ab62e120445e8f68e8c8fddb7bd3ed76"  	YOUTUBE_URL = "http://www.youtube.com/watch?v=BaW_jenozKc" -	YOUTUBE_FILE = "BaW_jenozKc.flv" +	YOUTUBE_FILE = "BaW_jenozKc.mp4" -	DAILYMOTION_MD5 = "" +	DAILYMOTION_MD5 = "d363a50e9eb4f22ce90d08d15695bb47"  	DAILYMOTION_URL = "http://www.dailymotion.com/video/x33vw9_tutoriel-de-youtubeur-dl-des-video_tech" -	DAILYMOTION_FILE = "" +	DAILYMOTION_FILE = "x33vw9.mp4"  	METACAFE_MD5 = "" @@ -29,54 +32,60 @@ class DownloadTest(unittest.TestCase):  	PHOTOBUCKET_MD5 = "" -	PHOTOBUCKET_URL = "http://www.metacafe.com/watch/yt-bV9L5Ht9LgY/download_youtube_playlist_with_youtube_dl/" +	PHOTOBUCKET_URL = ""  	PHOTOBUCKET_FILE = ""  	FACEBOOK_MD5 = "" -	FACEBOOK_URL = "https://www.facebook.com/video/video.php?v=207446242657384" +	FACEBOOK_URL = ""  	FACEBOOK_FILE = ""  	BLIP_MD5 = "" -	BLIP_URL = "https://www.facebook.com/video/video.php?v=207446242657384" +	BLIP_URL = ""  	BLIP_FILE = ""  	VIMEO_MD5 = "" -	VIMEO_URL = "https://www.facebook.com/video/video.php?v=207446242657384" +	VIMEO_URL = ""  	VIMEO_FILE = ""  	XVIDEO_MD5 = "" -	XVIDEO_URL = "https://www.facebook.com/video/video.php?v=207446242657384" +	XVIDEO_URL = ""  	XVIDEO_FILE = ""  	def test_youtube(self):  		#let's download a file from youtube -		fd = FileDownloader({}) +		with open(DownloadTest.PARAMETERS_FILE) as f: +			fd = FileDownloader(json.load(f))  		fd.add_info_extractor(YoutubeIE())  		fd.download([DownloadTest.YOUTUBE_URL]) +		print(os.path.abspath(DownloadTest.YOUTUBE_FILE))  		self.assertTrue(os.path.exists(DownloadTest.YOUTUBE_FILE))  		md5_down_file = md5_for_file(DownloadTest.YOUTUBE_FILE)  		self.assertEqual(md5_down_file, DownloadTest.YOUTUBE_MD5)  	def test_dailymotion(self): -		fd = FileDownloader({}) +		with open(DownloadTest.PARAMETERS_FILE) as f: +			fd = FileDownloader(json.load(f))  		fd.add_info_extractor(DailymotionIE())  		fd.download([DownloadTest.DAILYMOTION_URL])  		self.assertTrue(os.path.exists(DownloadTest.DAILYMOTION_FILE))  		md5_down_file = md5_for_file(DownloadTest.DAILYMOTION_FILE)  		self.assertEqual(md5_down_file, DownloadTest.DAILYMOTION_MD5) - +	@unittest.skip("no suitable ie")  	def test_metacafe(self): -		fd = FileDownloader({}) +		with open("test/json") as f: +			fd = FileDownloader(json.load(f)) +			print fd  		fd.add_info_extractor(MetacafeIE())  		fd.download([DownloadTest.METACAFE_URL])  		self.assertTrue(os.path.exists(DownloadTest.METACAFE_FILE))  		md5_down_file = md5_for_file(DownloadTest.METACAFE_FILE)  		self.assertEqual(md5_down_file, DownloadTest.METACAFE_MD5) +	@unittest.skip("no suitable url")  	def test_photobucket(self):  		fd = FileDownloader({})  		fd.add_info_extractor(PhotobucketIE()) @@ -85,7 +94,7 @@ class DownloadTest(unittest.TestCase):  		md5_down_file = md5_for_file(DownloadTest.PHOTOBUCKET_FILE)  		self.assertEqual(md5_down_file, DownloadTest.PHOTOBUCKET_MD5) - +	@unittest.skip("no suitable url")  	def test_facebook(self):  		fd = FileDownloader({})  		fd.add_info_extractor(FacebookIE()) @@ -94,6 +103,7 @@ class DownloadTest(unittest.TestCase):  		md5_down_file = md5_for_file(DownloadTest.FACEBOOK_FILE)  		self.assertEqual(md5_down_file, DownloadTest.FACEBOOK_MD5) +	@unittest.skip("no suitable url")  	def test_blip(self):  		fd = FileDownloader({})  		fd.add_info_extractor(BlipTVIE()) @@ -102,7 +112,7 @@ class DownloadTest(unittest.TestCase):  		md5_down_file = md5_for_file(DownloadTest.BLIP_FILE)  		self.assertEqual(md5_down_file, DownloadTest.BLIP_MD5) - +	@unittest.skip("no suitable url")  	def test_vimeo(self):  		fd = FileDownloader({})  		fd.add_info_extractor(VimeoIE()) @@ -111,7 +121,7 @@ class DownloadTest(unittest.TestCase):  		md5_down_file = md5_for_file(DownloadTest.VIMEO_FILE)  		self.assertEqual(md5_down_file, DownloadTest.VIMEO_MD5) - +	@unittest.skip("no suitable url")  	def test_xvideo(self):  		fd = FileDownloader({})  		fd.add_info_extractor(XVideosIE()) @@ -120,7 +130,7 @@ class DownloadTest(unittest.TestCase):  		md5_down_file = md5_for_file(DownloadTest.XVIDEO_FILE)  		self.assertEqual(md5_down_file, DownloadTest.XVIDEO_MD5) -	def cleanUp(self): +	def tearDown(self):  		if os.path.exists(DownloadTest.YOUTUBE_FILE):  			os.remove(DownloadTest.YOUTUBE_FILE)  		if os.path.exists(DownloadTest.DAILYMOTION_FILE): @@ -138,11 +148,12 @@ class DownloadTest(unittest.TestCase):  		if os.path.exists(DownloadTest.XVIDEO_FILE):  			os.remove(DownloadTest.XVIDEO_FILE) -def md5_for_file(f, block_size=2**20): -	md5 = hashlib.md5() -	while True: -		data = f.read(block_size) -		if not data: -			break -		md5.update(data) -		return md5.digest() +def md5_for_file(filename, block_size=2**20): +    with open(filename) as f: +        md5 = hashlib.md5() +        while True: +            data = f.read(block_size) +            if not data: +                break +            md5.update(data) +            return md5.hexdigest() | 
