def coerce( self, value ): """Base coercion mechanism for floating point field types""" if isinstance( value, (str,unicode)): value = [ float(x) for x in value.replace( ',', ' ').split()] if isinstance(value, field.NUMERIC_TYPES): return arrays.array([float(value)],self.targetType) elif isinstance( value, arrays.ArrayType ): if arrays.typeCode(value) not in self.acceptedTypes: value = value.astype(self.targetType) return arrays.contiguous( arrays.ravel(value) ) elif isinstance( value, field.SEQUENCE_TYPES): return arrays.array( map( float, collapse( value) ), self.targetType, ) elif not value: return arrays.array([],self.targetType) raise ValueError( """Attempted to set value for an %s field which is not compatible: %s"""%( self.typeName(), repr(value) ))
def coerce(self, value): """Base coercion mechanism for floating point field types""" if isinstance(value, (str, unicode)): value = [float(x) for x in value.replace(',', ' ').split()] if isinstance(value, field.NUMERIC_TYPES): return arrays.array([float(value)], self.targetType) elif isinstance(value, arrays.ArrayType): if arrays.typeCode(value) not in self.acceptedTypes: value = value.astype(self.targetType) return arrays.contiguous(arrays.ravel(value)) elif isinstance(value, field.SEQUENCE_TYPES): return arrays.array( map(float, collapse(value)), self.targetType, ) elif not value: return arrays.array([], self.targetType) raise ValueError( """Attempted to set value for an %s field which is not compatible: %s""" % (self.typeName(), repr(value)))
def coerce( self, value ): """Base coercion mechanism for multiple-value integer fields""" if isinstance( value, (str,unicode)): value = [ self.base_converter(x) for x in value.replace( ',', ' ').split() ] if isinstance(value, field.NUMERIC_TYPES): return arrays.array([int(value)],self.arrayDataType) elif isinstance( value, arrays.ArrayType ): if arrays.typeCode(value) not in self.acceptedTypes: value = value.astype( self.arrayDataType ) return arrays.contiguous( arrays.ravel(value) ) elif isinstance( value, field.SEQUENCE_TYPES): return arrays.array( [int(obj) for obj in value], self.arrayDataType, ) elif not value: return arrays.array([],self.arrayDataType) raise ValueError( """Attempted to set value for an %s field which is not compatible: %s"""%( self.typeName(), repr(value) ))