[options] add '--config-json' command-line option

This commit is contained in:
Mike Fährmann
2026-02-14 16:13:46 +01:00
parent cc52986811
commit e9989ff7bd
3 changed files with 11 additions and 2 deletions

View File

@@ -138,7 +138,9 @@
## Configuration Options:
-o, --option KEY=VALUE Additional options. Example: -o browser=firefox
-c, --config FILE Additional configuration files in JSON format
-c, --config FILE Additional configuration files in default
format
--config-json FILE Additional configuration files in JSON format
--config-yaml FILE Additional configuration files in YAML format
--config-toml FILE Additional configuration files in TOML format
--config-type TYPE Set filetype of default configuration files

View File

@@ -33,8 +33,10 @@ def main():
config.log.error(exc)
if args.config_load:
config.load()
if args.configs_extra:
config.load(args.configs_extra, strict=True)
if args.configs_json:
config.load(args.configs_json, strict=True)
config.load(args.configs_json, strict=True, loads=util.json_loads)
if args.configs_yaml:
import yaml
config.load(args.configs_yaml, strict=True, loads=yaml.safe_load)

View File

@@ -616,6 +616,11 @@ def build_parser():
)
configuration.add_argument(
"-c", "--config",
dest="configs_extra", metavar="FILE", action="append",
help="Additional configuration files in default format",
)
configuration.add_argument(
"--config-json",
dest="configs_json", metavar="FILE", action="append",
help="Additional configuration files in JSON format",
)