Returns a specific option specific in a config file

    Arguments:
        option_name  -- Name of the option (example host_name)
        section_name -- Which section of the config (default: name)

    examples:
    >>> get_option("some option", default="default result")
    'default result'

def get_option(option_name, section_name="main", default=_sentinel, cfg_file=cfg_file):
    """ Returns a specific option specific in a config file

    Arguments:
        option_name  -- Name of the option (example host_name)
        section_name -- Which section of the config (default: name)

    examples:
    >>> get_option("some option", default="default result")
    'default result'
    """
    defaults = get_defaults()

    # As a quality issue, we strictly disallow looking up an option that does not have a default
    # value specified in the code
    #if option_name not in defaults.get(section_name, {}) and default == _sentinel:
    #    raise ValueError("There is no default value for Option %s in section %s" % (option_name, section_name))

    # If default argument was provided, we set variable my_defaults to that
    # otherwise use the global nago defaults
    if default != _sentinel:
        my_defaults = {option_name: default}
    else:
        my_defaults = defaults.get('section_name', {})

    # Lets parse our configuration file and see what we get
    parser = get_parser(cfg_file)
    return parser.get(section_name, option_name, vars=my_defaults)