From: Scott Gasch Date: Fri, 6 Aug 2021 18:30:28 +0000 (-0700) Subject: Make config_loadfile augment cmdline instead of klobbering. X-Git-Url: https://wannabe.guru.org/gitweb/?a=commitdiff_plain;ds=sidebyside;h=f49bb9db0c6d1a8622dca1717db68462a4209112;p=python_utils.git Make config_loadfile augment cmdline instead of klobbering. --- diff --git a/config.py b/config.py index b3580ce..cf6d5a1 100644 --- a/config.py +++ b/config.py @@ -224,10 +224,9 @@ def parse(entry_module: Optional[str]) -> Dict[str, Any]: if loadfile is not None: if saw_other_args: - print( - 'WARNING: ignoring some commandline arguments; only args in --config_loadfile be parsed.', - file=sys.stderr - ) + msg = f'WARNING: Augmenting commandline arguments with those from {loadfile}.' + print(msg, file=sys.stderr) + saved_messages.append(msg) if not os.path.exists(loadfile): print(f'--config_loadfile argument must be a file, {loadfile} not found.', file=sys.stderr) @@ -235,7 +234,7 @@ def parse(entry_module: Optional[str]) -> Dict[str, Any]: with open(loadfile, 'r') as rf: newargs = rf.readlines() newargs = [arg.strip('\n') for arg in newargs if 'config_savefile' not in arg] - sys.argv = sys.argv[:1] + newargs + sys.argv += newargs # Parse (possibly augmented, possibly completely overwritten) # commandline args with argparse normally and populate config.