def override_subcommand(section_name, section_items, args):
    """
    Given a specific section in the configuration file that maps to
    a subcommand (except for the global section) read all the keys that are
    actual argument flags and slap the values for that one subcommand.

    Return the altered ``args`` object at the end.
    """
    # XXX We are not coercing here any int-like values, so if ArgParse
    # does that in the CLI we are totally non-compliant with that expectation
    # but we will try and infer a few boolean values

    # acceptable boolean states for flags
    _boolean_states = {'yes': True, 'true': True, 'on': True,
                       'no': False, 'false': False, 'off': False}

    for k, v, in section_items:
        # get the lower case value of `v`, fallback to the booleanized
        # (original) value of `v`
        try:
            normalized_value = v.lower()
        except __HOLE__:
            # probably not a string object that has .lower
            normalized_value = v
        value = _boolean_states.get(normalized_value, v)
        setattr(args, k, value)
    return args
dataset/ETHPy150Open ceph/ceph-deploy/ceph_deploy/conf/cephdeploy.py/override_subcommand