def convert_config_value(self, value, label): try: if self.item_type == "str": if isinstance(value, unicode): return value else: return str(value) elif self.item_type == "int": return int(value) elif self.item_type == "long": return long(value) elif self.item_type == "float": return float(value) elif self.item_type == "complex": return complex(value) else: raise YapconfItemError( "Do not know how to convert type {0} " "for {1} found in {2}".format(self.item_type, self.name, label) ) except (TypeError, ValueError) as ex: raise YapconfValueError( "Tried to convert {0} to {1} but got an " "error instead. Found in {2}. Error " "Message: {3}".format(self.name, self.item_type, label, ex), ex, )
def _validate(self): if self.separator in self.name: raise YapconfItemError("Cannot have a name with {0} in it. Either " "choose a different name or choose a " "different separator.".format( self.separator)) if self.item_type not in TYPES: raise YapconfItemError("Invalid type provided ({0}) valid types " "are: {1}".format(self.item_type, TYPES)) if self.cli_short_name and len(self.cli_short_name) != 1: raise YapconfItemError("CLI Short name ({0}) can only be a single " "character.".format(self.cli_short_name)) elif self.cli_short_name == '-': raise YapconfItemError("CLI Short name cannot be '-'") if self.default: self._validate_value(self.default)
def _get_argparse_type(self): if self.item_type == 'str': return str elif self.item_type == 'int': return int elif self.item_type == 'long': return long elif self.item_type == 'float': return float elif self.item_type == 'complex': return complex else: raise YapconfItemError("Do not know how to generate CLI " "type for {0}".format(self.item_type))
def _get_argparse_type(self): if self.item_type == "str": return str elif self.item_type == "int": return int elif self.item_type == "long": return long elif self.item_type == "float": return float elif self.item_type == "complex": return complex else: raise YapconfItemError( "Do not know how to generate CLI " "type for {0}".format(self.item_type) )
def convert_config_value(self, value, label): try: if self.item_type == 'str': return str(value) elif self.item_type == 'int': return int(value) elif self.item_type == 'long': return long(value) elif self.item_type == 'float': return float(value) elif self.item_type == 'complex': return complex(value) else: raise YapconfItemError("Do not know how to convert type {0} " "for {1} found in {2}".format( self.item_type, self.name, label)) except (TypeError, ValueError) as ex: raise YapconfValueError( "Tried to convert {0} to {1} but got an " "error instead. Found in {2}. Error " "Message: {3}".format(self.name, self.item_type, label, ex), ex)