1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-10-04 13:24:40 -04:00

Allow passing different arguments to different external downloaders

* Now similar to --post-processor-args
* Also added `--downloader-args` as alias to `--external-downloader-args`
This commit is contained in:
pukkandan
2021-01-23 11:29:20 +05:30
parent 45016689fa
commit 46ee996e39
4 changed files with 32 additions and 15 deletions

View File

@@ -95,7 +95,19 @@ class ExternalFD(FileDownloader):
return cli_valueless_option(self.params, command_option, param, expected_value)
def _configuration_args(self, default=[]):
return cli_configuration_args(self.params, 'external_downloader_args', default)
args = self.params.get('external_downloader_args', {})
if isinstance(args, (list, tuple)): # for backward compatibility
return args
if args is None:
return default
assert isinstance(args, dict)
dl_args = args.get(self.get_basename().lower())
if dl_args is None:
dl_args = args.get('default', default)
assert isinstance(dl_args, (list, tuple))
return dl_args
def _call_downloader(self, tmpfilename, info_dict):
""" Either overwrite this or implement _make_cmd """