From 1b77b347d422ed70fd833a9f0327ea418ba4919c Mon Sep 17 00:00:00 2001 From: pukkandan Date: Fri, 8 Jan 2021 00:58:41 +0530 Subject: Allow passing different arguments to different postprocessors * Also deprecated --sponskrub-args Closes: https://github.com/ytdl-org/youtube-dl/issues/27593 Eg: `--postprocessor-args "VideoConvertor:-c:v h264_nvenc -preset slow"` Eg: `--postprocessor-args "SponsKrub:-include-selfpromo"` For backward compatibility, `--postprocessor-args args` is equivalent to: `--post-processor-args "sponskrub:" --post-processor-args "default:args"` --- youtube_dlc/postprocessor/common.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'youtube_dlc/postprocessor/common.py') diff --git a/youtube_dlc/postprocessor/common.py b/youtube_dlc/postprocessor/common.py index 599dd1df2..6e84ff592 100644 --- a/youtube_dlc/postprocessor/common.py +++ b/youtube_dlc/postprocessor/common.py @@ -33,6 +33,11 @@ class PostProcessor(object): def __init__(self, downloader=None): self._downloader = downloader + if not hasattr(self, 'PP_NAME'): + self.PP_NAME = self.__class__.__name__[:-2] + + def to_screen(self, text, *args, **kwargs): + return self._downloader.to_screen('[%s] %s' % (self.PP_NAME, text), *args, **kwargs) def set_downloader(self, downloader): """Sets the downloader for this PP.""" @@ -62,7 +67,10 @@ class PostProcessor(object): self._downloader.report_warning(errnote) def _configuration_args(self, default=[]): - return cli_configuration_args(self._downloader.params, 'postprocessor_args', default) + args = self._downloader.params.get('postprocessor_args', {}) + if isinstance(args, list): # for backward compatibility + args = {'default': args, 'sponskrub': []} + return cli_configuration_args(args, self.PP_NAME.lower(), args.get('default', [])) class AudioConversionError(PostProcessingError): -- cgit v1.2.3