mirror of
				https://code.hackerspace.pl/q3k/youtube-dl
				synced 2025-03-16 11:43:02 +00:00 
			
		
		
		
	[downloader/external] Add curl and aria2c (Closes #182)
This commit is contained in:
		
							parent
							
								
									b95aab8482
								
							
						
					
					
						commit
						384b62028a
					
				| @ -97,13 +97,22 @@ class ExternalFD(FileDownloader): | |||||||
|         self._debug_cmd(cmd, subprocess_encoding) |         self._debug_cmd(cmd, subprocess_encoding) | ||||||
| 
 | 
 | ||||||
|         p = subprocess.Popen( |         p = subprocess.Popen( | ||||||
|             cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |             cmd, stderr=subprocess.PIPE) | ||||||
|         stdout, stderr = p.communicate() |         _, stderr = p.communicate() | ||||||
|         if p.returncode != 0: |         if p.returncode != 0: | ||||||
|             self.to_stderr(stderr) |             self.to_stderr(stderr) | ||||||
|         return p.returncode |         return p.returncode | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class CurlFD(ExternalFD): | ||||||
|  |     def _make_cmd(self, tmpfilename, info_dict): | ||||||
|  |         cmd = [self.exe, '-o', tmpfilename] | ||||||
|  |         for key, val in self._calc_headers(info_dict).items(): | ||||||
|  |             cmd += ['--header', '%s: %s' % (key, val)] | ||||||
|  |         cmd += ['--', info_dict['url']] | ||||||
|  |         return cmd | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| class WgetFD(ExternalFD): | class WgetFD(ExternalFD): | ||||||
|     def _make_cmd(self, tmpfilename, info_dict): |     def _make_cmd(self, tmpfilename, info_dict): | ||||||
|         cmd = [self.exe, '-O', tmpfilename, '-nv', '--no-cookies'] |         cmd = [self.exe, '-O', tmpfilename, '-nv', '--no-cookies'] | ||||||
| @ -113,6 +122,20 @@ class WgetFD(ExternalFD): | |||||||
|         return cmd |         return cmd | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class Aria2cFD(ExternalFD): | ||||||
|  |     def _make_cmd(self, tmpfilename, info_dict): | ||||||
|  |         cmd = [ | ||||||
|  |             self.exe, '-c', | ||||||
|  |             '--min-split-size', '1M', '--max-connection-per-server', '4'] | ||||||
|  |         dn = os.path.dirname(tmpfilename) | ||||||
|  |         if dn: | ||||||
|  |             cmd += ['--dir', dn] | ||||||
|  |         cmd += ['--out', os.path.basename(tmpfilename)] | ||||||
|  |         for key, val in self._calc_headers(info_dict).items(): | ||||||
|  |             cmd += ['--header', '%s: %s' % (key, val)] | ||||||
|  |         cmd += ['--', info_dict['url']] | ||||||
|  |         return cmd | ||||||
|  | 
 | ||||||
| _BY_NAME = dict( | _BY_NAME = dict( | ||||||
|     (klass.get_basename(), klass) |     (klass.get_basename(), klass) | ||||||
|     for name, klass in globals().items() |     for name, klass in globals().items() | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
						Philipp Hagemeister