From 284a60c51600cdee55f025270f8b223d2c45a154 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Fri, 1 Jul 2022 09:30:21 +0530 Subject: [PATCH] [options] Fix aliases to `--config-location` --- yt_dlp/options.py | 5 +++++ yt_dlp/utils.py | 15 +++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/yt_dlp/options.py b/yt_dlp/options.py index dfaa9ca4f..386e8308e 100644 --- a/yt_dlp/options.py +++ b/yt_dlp/options.py @@ -114,6 +114,11 @@ def parseOpts(overrideArguments=None, ignore_config_files='if_override'): if user_conf is not None: root.configs.pop(user_conf) + try: + root.configs[0].load_configs() # Resolve any aliases using --config-location + except ValueError as err: + raise root.parser.error(err) + opts, args = root.parse_args() except optparse.OptParseError: with contextlib.suppress(optparse.OptParseError): diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py index 7b4d2d818..67efb88c6 100644 --- a/yt_dlp/utils.py +++ b/yt_dlp/utils.py @@ -5393,18 +5393,21 @@ class Config: def init(self, args=None, filename=None): assert not self.__initialized + self.own_args, self.filename = args, filename + return self.load_configs() + + def load_configs(self): directory = '' - if filename: - location = os.path.realpath(filename) + if self.filename: + location = os.path.realpath(self.filename) directory = os.path.dirname(location) if location in self._loaded_paths: return False self._loaded_paths.add(location) - self.own_args, self.__initialized = args, True - opts, _ = self.parser.parse_known_args(args) - self.parsed_args, self.filename = args, filename - + self.__initialized = True + opts, _ = self.parser.parse_known_args(self.own_args) + self.parsed_args = self.own_args for location in opts.config_locations or []: if location == '-': self.append_config(shlex.split(read_stdin('options'), comments=True), label='stdin')