aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/postprocessor/common.py
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2021-03-09 07:47:21 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2021-03-14 20:02:55 +0530
commite92caff5d50e60bfd33563d631f0c49ce176dc70 (patch)
treea215d99d7b70983d1b5e20338ddc7b46adddd935 /yt_dlp/postprocessor/common.py
parentea3a012d2aa6f71945f934ab8426852c8abdbf35 (diff)
downloadhypervideo-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.py12
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):