@argh_named("remove-config")
    @arg_verbose
    @arg_full_match
    @arg_target_nodes
    @argh.arg('config', type=str, help='name of the config')
    @arg_flag("-e", "--skip-non-existing", help="do nothing if the config does not exist")
    @expects_obj
    def handle_remove_config(self, arg):
        alog = self.log.info if arg.verbose else self.log.debug
        deletes = []
        confman = self.get_confman(arg.root_dir)
        nodes = confman.find(arg.nodes, full_match=arg.full_match, exclude=arg.exclude)
        for node in nodes:
            existing = list(c for c in node.iter_configs()
                            if c.name == arg.config)
            deletes.append("%s/%s" % (node.name, arg.config))
            if not existing:
                if arg.skip_non_existing:
                    self.log.info("config '%s/%s' does not exist, skipped",
                                  node.name, arg.config)
                    continue
                raise errors.UserError("config '%s/%s' does not exist"
                                       % (node.name, arg.config))

            node.remove_config(arg.config)
            alog("removed config %r from %s", arg.config, node.path)

        if not deletes and not arg.skip_non_existing:
            raise errors.UserError("no matching nodes found")
remove config from node(s)
dataset/ETHPy150Open ohmu/poni/poni/tool.py/Tool.handle_remove_config