def load_value(self, param, parser, ans, generate_default):
        section = param.get_option(self.OPT_KEY, 'section', None)
        if section is None: section = parser.default_section
        key = param.get_option(self.OPT_KEY, 'key', param.name)
        converter = param.get_option(self.OPT_KEY, 'converter', param.type_cast)

        if parser.has_option(section, key):
            value = parser.get(section, key)
            loaded = True
        elif generate_default:
            value = param.get_default()
            loaded = True
        else:
            value = None
            loaded = False
        if loaded: 
            value = converter(value)
            if hasattr(param, 'choices') and value not in param.choices:
                raise ConfigFileLoader.ConfigValueError(
                        "config setting %s/%s: invalid choice: %s (choose from %s)" % (
                            section, key, value, ", ".join(param.choices))
                        )
        return loaded, key, value
dataset/ETHPy150Open genzj/pybingwallpaper/src/config.py/ConfigFileLoader.load_value/original