mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[skip travis] renaming
to avoid using same folder when using pip install for example
This commit is contained in:
		
							
								
								
									
										69
									
								
								youtube_dlc/postprocessor/common.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								youtube_dlc/postprocessor/common.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| import os | ||||
|  | ||||
| from ..utils import ( | ||||
|     PostProcessingError, | ||||
|     cli_configuration_args, | ||||
|     encodeFilename, | ||||
| ) | ||||
|  | ||||
|  | ||||
| class PostProcessor(object): | ||||
|     """Post Processor class. | ||||
|  | ||||
|     PostProcessor objects can be added to downloaders with their | ||||
|     add_post_processor() method. When the downloader has finished a | ||||
|     successful download, it will take its internal chain of PostProcessors | ||||
|     and start calling the run() method on each one of them, first with | ||||
|     an initial argument and then with the returned value of the previous | ||||
|     PostProcessor. | ||||
|  | ||||
|     The chain will be stopped if one of them ever returns None or the end | ||||
|     of the chain is reached. | ||||
|  | ||||
|     PostProcessor objects follow a "mutual registration" process similar | ||||
|     to InfoExtractor objects. | ||||
|  | ||||
|     Optionally PostProcessor can use a list of additional command-line arguments | ||||
|     with self._configuration_args. | ||||
|     """ | ||||
|  | ||||
|     _downloader = None | ||||
|  | ||||
|     def __init__(self, downloader=None): | ||||
|         self._downloader = downloader | ||||
|  | ||||
|     def set_downloader(self, downloader): | ||||
|         """Sets the downloader for this PP.""" | ||||
|         self._downloader = downloader | ||||
|  | ||||
|     def run(self, information): | ||||
|         """Run the PostProcessor. | ||||
|  | ||||
|         The "information" argument is a dictionary like the ones | ||||
|         composed by InfoExtractors. The only difference is that this | ||||
|         one has an extra field called "filepath" that points to the | ||||
|         downloaded file. | ||||
|  | ||||
|         This method returns a tuple, the first element is a list of the files | ||||
|         that can be deleted, and the second of which is the updated | ||||
|         information. | ||||
|  | ||||
|         In addition, this method may raise a PostProcessingError | ||||
|         exception if post processing fails. | ||||
|         """ | ||||
|         return [], information  # by default, keep file and do nothing | ||||
|  | ||||
|     def try_utime(self, path, atime, mtime, errnote='Cannot update utime of file'): | ||||
|         try: | ||||
|             os.utime(encodeFilename(path), (atime, mtime)) | ||||
|         except Exception: | ||||
|             self._downloader.report_warning(errnote) | ||||
|  | ||||
|     def _configuration_args(self, default=[]): | ||||
|         return cli_configuration_args(self._downloader.params, 'postprocessor_args', default) | ||||
|  | ||||
|  | ||||
| class AudioConversionError(PostProcessingError): | ||||
|     pass | ||||
		Reference in New Issue
	
	Block a user
	 Unknown
					Unknown