Beispiel #1
0
 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) ))
Beispiel #2
0
 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)))
Beispiel #3
0
 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) ))