From e92caff5d50e60bfd33563d631f0c49ce176dc70 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Tue, 9 Mar 2021 07:47:21 +0530 Subject: Refactor (See desc) * Create `FFmpegPostProcessor.real_run_ffmpeg` that can accept multiple input/output files along with switches for each * Rewrite `cli_configuration_args` and related functions * Create `YoutubeDL._ensure_dir_exists` - this was previously defined in multiple places --- yt_dlp/postprocessor/common.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'yt_dlp/postprocessor/common.py') diff --git a/yt_dlp/postprocessor/common.py b/yt_dlp/postprocessor/common.py index f8f4e7693..3c316b349 100644 --- a/yt_dlp/postprocessor/common.py +++ b/yt_dlp/postprocessor/common.py @@ -91,10 +91,18 @@ class PostProcessor(object): except Exception: self.report_warning(errnote) - def _configuration_args(self, *args, **kwargs): + def _configuration_args(self, exe, keys=None, default=[], use_compat=True): + pp_key = self.pp_key().lower() + exe = exe.lower() + root_key = exe if pp_key == exe else '%s+%s' % (pp_key, exe) + keys = ['%s%s' % (root_key, k) for k in (keys or [''])] + if root_key in keys: + keys += [root_key] + ([] if pp_key == exe else [(self.pp_key(), exe)]) + ['default'] + else: + use_compat = False return cli_configuration_args( self._downloader.params.get('postprocessor_args'), - self.pp_key().lower(), *args, **kwargs) + keys, default, use_compat) class AudioConversionError(PostProcessingError): -- cgit v1.2.3