diff options
author | pukkandan <pukkandan@gmail.com> | 2021-01-08 00:58:41 +0530 |
---|---|---|
committer | pukkandan <pukkandan@gmail.com> | 2021-01-08 01:41:08 +0530 |
commit | 1b77b347d422ed70fd833a9f0327ea418ba4919c (patch) | |
tree | 35232d3f241acdc6ce794d37418e34adbcd37d8d /youtube_dlc/postprocessor/common.py | |
parent | 6c40e33c9e97bd32cece9b12e5e90ed66fa1fcb8 (diff) | |
download | hypervideo-pre-1b77b347d422ed70fd833a9f0327ea418ba4919c.tar.lz hypervideo-pre-1b77b347d422ed70fd833a9f0327ea418ba4919c.tar.xz hypervideo-pre-1b77b347d422ed70fd833a9f0327ea418ba4919c.zip |
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"`
Diffstat (limited to 'youtube_dlc/postprocessor/common.py')
-rw-r--r-- | youtube_dlc/postprocessor/common.py | 10 |
1 files changed, 9 insertions, 1 deletions
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): |