def edit(args): state = _filter_state(libnmstate.show(), args.only) if not state[Interface.KEY]: sys.stderr.write("ERROR: No such interface\n") return os.EX_USAGE pretty_state = PrettyState(state) if args.yaml: suffix = ".yaml" txtstate = pretty_state.yaml else: suffix = ".json" txtstate = pretty_state.json new_state = _get_edited_state(txtstate, suffix, args.yaml) if not new_state: return os.EX_DATAERR print("Applying the following state: ") print_state(new_state, use_yaml=args.yaml) libnmstate.apply( new_state, verify_change=args.verify, save_to_disk=args.save_to_disk )
def print_state(state, use_yaml=False): state = PrettyState(state) if use_yaml: sys.stdout.write(state.yaml) else: print(state.json)