forked from Mirror/pmbootstrap
Log only if config was really changed
Print to stdout only if config option has been really changed. If the new setting is equal to old one, be silent. Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org> Part-of: https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2539
This commit is contained in:
parent
9d03657b80
commit
d5e4d76118
1 changed files with 9 additions and 4 deletions
|
@ -249,12 +249,17 @@ def config(args: PmbArgs) -> None:
|
||||||
name = args.name.split(".", 1)[1]
|
name = args.name.split(".", 1)[1]
|
||||||
# Ignore mypy 'error: TypedDict key must be a string literal'.
|
# Ignore mypy 'error: TypedDict key must be a string literal'.
|
||||||
# Argparse already ensures 'name' is a valid Config.Mirrors key.
|
# Argparse already ensures 'name' is a valid Config.Mirrors key.
|
||||||
config.mirrors[name] = args.value # type: ignore
|
if value_changed := (config.mirrors[name] != args.value): # type: ignore
|
||||||
|
config.mirrors[name] = args.value # type: ignore
|
||||||
elif isinstance(getattr(Config, args.name), list):
|
elif isinstance(getattr(Config, args.name), list):
|
||||||
setattr(config, args.name, args.value.split(","))
|
new_list = args.value.split(",")
|
||||||
|
if value_changed := (getattr(config, args.name, None) != new_list):
|
||||||
|
setattr(config, args.name, new_list)
|
||||||
else:
|
else:
|
||||||
setattr(config, args.name, args.value)
|
if value_changed := (getattr(config, args.name) != args.value):
|
||||||
logging.info("Config changed: " + args.name + "='" + args.value + "'")
|
setattr(config, args.name, args.value)
|
||||||
|
if value_changed:
|
||||||
|
print(f"{args.name} = {args.value}")
|
||||||
pmb.config.save(args.config, config)
|
pmb.config.save(args.config, config)
|
||||||
elif args.name:
|
elif args.name:
|
||||||
if hasattr(config, args.name):
|
if hasattr(config, args.name):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue