aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dlc/postprocessor/common.py
diff options
context:
space:
mode:
authorpukkandan <pukkandan@gmail.com>2021-01-08 00:58:41 +0530
committerpukkandan <pukkandan@gmail.com>2021-01-08 01:41:08 +0530
commit1b77b347d422ed70fd833a9f0327ea418ba4919c (patch)
tree35232d3f241acdc6ce794d37418e34adbcd37d8d /youtube_dlc/postprocessor/common.py
parent6c40e33c9e97bd32cece9b12e5e90ed66fa1fcb8 (diff)
downloadhypervideo-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.py10
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):