From 29a3cb2b8c4efca1bb180110627ae20c8cd5310e Mon Sep 17 00:00:00 2001 From: Niklas Cathor Date: Mon, 6 Apr 2020 15:47:13 +0200 Subject: [PATCH] pmb.helpers.frontend.config: add option to reset config to default (!1907) --- pmb/helpers/frontend.py | 9 ++++++++- pmb/parse/arguments.py | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pmb/helpers/frontend.py b/pmb/helpers/frontend.py index 026a627c..1dcfbf2e 100644 --- a/pmb/helpers/frontend.py +++ b/pmb/helpers/frontend.py @@ -140,7 +140,14 @@ def config(args): raise RuntimeError("Invalid config key: " + args.name) cfg = pmb.config.load(args) - if args.value is not None: + if args.reset: + if args.name is None: + raise RuntimeError("config --reset requires a name to be given.") + value = pmb.config.defaults[args.name] + cfg["pmbootstrap"][args.name] = value + logging.info("Config changed to default: " + args.name + "='" + value + "'") + pmb.config.save(args, cfg) + elif args.value is not None: cfg["pmbootstrap"][args.name] = args.value logging.info("Config changed: " + args.name + "='" + args.value + "'") pmb.config.save(args, cfg) diff --git a/pmb/parse/arguments.py b/pmb/parse/arguments.py index a51ee1d6..c7b300a0 100644 --- a/pmb/parse/arguments.py +++ b/pmb/parse/arguments.py @@ -603,6 +603,8 @@ def arguments(): # Action: config config = sub.add_parser("config", help="get and set pmbootstrap options") + config.add_argument("-r", "--reset", action="store_true", + help="Reset config options with the given name to it's default.") config.add_argument("name", nargs="?", help="variable name, one of: " + ", ".join(sorted(pmb.config.config_keys)), choices=pmb.config.config_keys, metavar="name")