'Load section settings into a dictionary'

def _load_settings(self, section_name, settings, store, filter_settings=True):

    section = self.config._sections.get(section_name)
    if (not section):
        raise exception.ConfigSectionMissing(('Missing    section    %s    in    config' % section_name))
    store.update(section)
    section_conf = store
    for setting in settings:
        requirements = settings[setting]
        (func, required, default, options, callback) = requirements
        func = self.type_validators.get(func)
        value = func(self.config, section_name, setting)
        if (value is not None):
            if (options and (value not in options)):
                raise exception.ConfigError(('"%s"    setting    in    section    "%s"    must    be    one    of:    %s' % (setting, section_name, ',    '.join([str(o) for o in options]))))
            if callback:
                value = callback(value)
            section_conf[setting] = value
    if filter_settings:
        for key in store.keys():
            if ((key not in settings) and (key != '__name__')):
                store.pop(key)
