Simplify FakeYDL
This commit is contained in:
		
							parent
							
								
									bcd606c0fe
								
							
						
					
					
						commit
						112da0a0ce
					
				
							
								
								
									
										33
									
								
								test/helper.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								test/helper.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | |||||||
|  | import io | ||||||
|  | import json | ||||||
|  | import os.path | ||||||
|  | 
 | ||||||
|  | from youtube_dl import YoutubeDL, YoutubeDLHandler | ||||||
|  | from youtube_dl.utils import ( | ||||||
|  |     compat_cookiejar, | ||||||
|  |     compat_urllib_request, | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | # General configuration (from __init__, not very elegant...) | ||||||
|  | jar = compat_cookiejar.CookieJar() | ||||||
|  | cookie_processor = compat_urllib_request.HTTPCookieProcessor(jar) | ||||||
|  | proxy_handler = compat_urllib_request.ProxyHandler() | ||||||
|  | opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler()) | ||||||
|  | compat_urllib_request.install_opener(opener) | ||||||
|  | 
 | ||||||
|  | PARAMETERS_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "parameters.json") | ||||||
|  | with io.open(PARAMETERS_FILE, encoding='utf-8') as pf: | ||||||
|  |     parameters = json.load(pf) | ||||||
|  | 
 | ||||||
|  | class FakeYDL(YoutubeDL): | ||||||
|  |     def __init__(self): | ||||||
|  |         self.result = [] | ||||||
|  |         # Different instances of the downloader can't share the same dictionary | ||||||
|  |         # some test set the "sublang" parameter, which would break the md5 checks. | ||||||
|  |         self.params = dict(parameters) | ||||||
|  |     def to_screen(self, s): | ||||||
|  |         print(s) | ||||||
|  |     def trouble(self, s, tb=None): | ||||||
|  |         raise Exception(s) | ||||||
|  |     def download(self, x): | ||||||
|  |         self.result.append(x) | ||||||
| @ -10,30 +10,8 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |||||||
| 
 | 
 | ||||||
| from youtube_dl.extractor import YoutubeUserIE, YoutubePlaylistIE, YoutubeIE, YoutubeChannelIE | from youtube_dl.extractor import YoutubeUserIE, YoutubePlaylistIE, YoutubeIE, YoutubeChannelIE | ||||||
| from youtube_dl.utils import * | from youtube_dl.utils import * | ||||||
| from youtube_dl import YoutubeDL |  | ||||||
| 
 | 
 | ||||||
| PARAMETERS_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "parameters.json") | from helper import FakeYDL | ||||||
| with io.open(PARAMETERS_FILE, encoding='utf-8') as pf: |  | ||||||
|     parameters = json.load(pf) |  | ||||||
| 
 |  | ||||||
| # General configuration (from __init__, not very elegant...) |  | ||||||
| jar = compat_cookiejar.CookieJar() |  | ||||||
| cookie_processor = compat_urllib_request.HTTPCookieProcessor(jar) |  | ||||||
| proxy_handler = compat_urllib_request.ProxyHandler() |  | ||||||
| opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler()) |  | ||||||
| compat_urllib_request.install_opener(opener) |  | ||||||
| 
 |  | ||||||
| class FakeYDL(YoutubeDL): |  | ||||||
|     def __init__(self): |  | ||||||
|         self.result = [] |  | ||||||
|         self.params = parameters |  | ||||||
|     def to_screen(self, s): |  | ||||||
|         print(s) |  | ||||||
|     def trouble(self, s, tb=None): |  | ||||||
|         raise Exception(s) |  | ||||||
|     def extract_info(self, url): |  | ||||||
|         self.result.append(url) |  | ||||||
|         return url |  | ||||||
| 
 | 
 | ||||||
| class TestYoutubeLists(unittest.TestCase): | class TestYoutubeLists(unittest.TestCase): | ||||||
|     def assertIsPlaylist(self,info): |     def assertIsPlaylist(self,info): | ||||||
|  | |||||||
| @ -12,31 +12,7 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |||||||
| 
 | 
 | ||||||
| from youtube_dl.extractor import YoutubeIE | from youtube_dl.extractor import YoutubeIE | ||||||
| from youtube_dl.utils import * | from youtube_dl.utils import * | ||||||
| from youtube_dl import YoutubeDL | from helper import FakeYDL | ||||||
| 
 |  | ||||||
| PARAMETERS_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "parameters.json") |  | ||||||
| with io.open(PARAMETERS_FILE, encoding='utf-8') as pf: |  | ||||||
|     parameters = json.load(pf) |  | ||||||
| 
 |  | ||||||
| # General configuration (from __init__, not very elegant...) |  | ||||||
| jar = compat_cookiejar.CookieJar() |  | ||||||
| cookie_processor = compat_urllib_request.HTTPCookieProcessor(jar) |  | ||||||
| proxy_handler = compat_urllib_request.ProxyHandler() |  | ||||||
| opener = compat_urllib_request.build_opener(proxy_handler, cookie_processor, YoutubeDLHandler()) |  | ||||||
| compat_urllib_request.install_opener(opener) |  | ||||||
| 
 |  | ||||||
| class FakeYDL(YoutubeDL): |  | ||||||
|     def __init__(self): |  | ||||||
|         self.result = [] |  | ||||||
|         # Different instances of the downloader can't share the same dictionary |  | ||||||
|         # some test set the "sublang" parameter, which would break the md5 checks. |  | ||||||
|         self.params = dict(parameters) |  | ||||||
|     def to_screen(self, s): |  | ||||||
|         print(s) |  | ||||||
|     def trouble(self, s, tb=None): |  | ||||||
|         raise Exception(s) |  | ||||||
|     def download(self, x): |  | ||||||
|         self.result.append(x) |  | ||||||
| 
 | 
 | ||||||
| md5 = lambda s: hashlib.md5(s.encode('utf-8')).hexdigest() | md5 = lambda s: hashlib.md5(s.encode('utf-8')).hexdigest() | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user