diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2021-03-09 07:47:21 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2021-03-14 20:02:55 +0530 |
commit | e92caff5d50e60bfd33563d631f0c49ce176dc70 (patch) | |
tree | a215d99d7b70983d1b5e20338ddc7b46adddd935 /yt_dlp/postprocessor/common.py | |
parent | ea3a012d2aa6f71945f934ab8426852c8abdbf35 (diff) | |
download | hypervideo-pre-e92caff5d50e60bfd33563d631f0c49ce176dc70.tar.lz hypervideo-pre-e92caff5d50e60bfd33563d631f0c49ce176dc70.tar.xz hypervideo-pre-e92caff5d50e60bfd33563d631f0c49ce176dc70.zip |
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
Diffstat (limited to 'yt_dlp/postprocessor/common.py')
-rw-r--r-- | yt_dlp/postprocessor/common.py | 12 |
1 files changed, 10 insertions, 2 deletions
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): |