Ejemplo n.º 1
0
    def get_default_value_for(self, name):
        if not name in self._mapping_from_name_to_value:
            raise exceptions.CoreException(
                "tried to get default value of unknown parameter '{0}'".format(
                    name))

        raise exceptions.CoreException(
            "tried to get default value, for a parameter in a parameters memento"
        )
Ejemplo n.º 2
0
 def reset_from_memento(self, memento):
     for name in memento.names():
         if not name in self._mapping_from_name_to_definition:
             raise exceptions.CoreException("tried to set unknown parameter '{0}' for a '{1}' object".format(name, type(self._instance()).__name__))
         
         if self.get_parameter(name).is_readonly():
             if not getattr(memento, name) == getattr(self, name):
                 raise exceptions.CoreException("tried to change read-only parameter '{0}' for a '{1}' object".format(name, type(self._instance()).__name__))
         else:
             setattr(self, name, getattr(memento, name))
Ejemplo n.º 3
0
 def __init__(self, function = None, type = "string", name = None, sections = (), choices = (), global_options = None):
     self.specification_method = function
         
     if not name is None:
         self.name = name
     
     if not self.specification_method is None:
         self.__doc__ = self.specification_method.__doc__
         
     self.sections = sections
     
     if hasattr(self, type.upper()):
         self.valuetype = getattr(self, type.upper())
     else:
         raise exceptions.CoreException("'{0}' is not a valid type for option".format(type))
         
     self.validator = self.default_validator
     self.choices = set(choices)
     if self.choices:
         self.validator = self.choice_validator
     
     if global_options is None:
         self.global_options = GlobalOptions.instance()
     else:
         self.global_options = global_options
Ejemplo n.º 4
0
    def __setattr__(self, name, value):
        if not name in self._original._mapping_from_name_to_definition:
            raise exceptions.CoreException("Could not set unknown parameter '{0}' for a '{1}' object".format(name, type(self._original()).__name__))

        try:
            setattr(self._original, name, self._converter.from_source_to_target(value))
        except IncompatibleUnitsException as ex:
            setattr(self._original, name, value)
Ejemplo n.º 5
0
    def get_default_value_for(self, name):
        if not name in self._mapping_from_name_to_definition:
            raise exceptions.CoreException(
                "tried to get default value of unknown parameter '{0}' for a '{1}' object"
                .format(name,
                        type(self._instance()).__name__))

        definition = self._mapping_from_name_to_definition[name]
        return definition.get_default_value(self)
Ejemplo n.º 6
0
    def __setattr__(self, name, value):
        if not name in self._mapping_from_name_to_definition:
            #~ print "Did you mean to set one of these parameters?\n", \
                #~ "\n  ".join(self._mapping_from_name_to_definition.keys())
            raise exceptions.CoreException("tried to set unknown parameter '{0}' for a '{1}' object".format(name, type(self._instance()).__name__))
        
        self._instance().before_set_parameter()

        return self.get_parameter(name).set_value(value)
Ejemplo n.º 7
0
 def __getattr__(self, name):
     #if name.startswith('__'):
     #    return object.__getattribute__(self, name)
     if not name in self._mapping_from_name_to_definition:
         raise exceptions.CoreException("tried to get unknown parameter '{0}' for a '{1}' object".format(name, type(self._instance()).__name__))
     
     self._instance().before_get_parameter()
     
     return self.get_parameter(name).get_value()
Ejemplo n.º 8
0
 def set_value(self, parameter, object, vector_quantity):
     if self.set_method is None:
         raise exceptions.CoreException("Could not set value for parameter '{0}' of a '{1}' object, parameter is read-only".format(self.name, type(object).__name__))
     
     getattr(object, self.set_method)(*vector_quantity)
     
     if self.get_method is None:
         self.stored_value = vector_quantity
     
     parameter.is_set = True
Ejemplo n.º 9
0
 def set_value(self, parameter, object, quantity):
     
     if self.set_method is None:
         raise exceptions.CoreException("Could not set value for parameter '{0}' of a '{1}' object, parameter is read-only".format(self.name, type(object).__name__))
     
     irange=getattr(object, self.range_method)()
     index=numpy.arange(irange[0],irange[1]+1)
     getattr(object, self.set_method)(index,quantity)
     
     if self.get_method is None:
         self.stored_value = quantity
     
     parameter.is_set = True
Ejemplo n.º 10
0
 def set_value(self, parameter, object, quantity):
     #if self.unit.is_non_numeric() or len(self.unit.base) == 0:
     #    if not isinstance(quantity, quantities.Quantity):
     #        quantity = quantity | self.unit
     
     if self.set_method is None:
         raise exceptions.CoreException("Could not set value for parameter '{0}' of a '{1}' object, parameter is read-only".format(self.name, type(object).__name__))
     
     getattr(object, self.set_method)(quantity)
     
     if self.get_method is None:
         self.stored_value = quantity
     
     parameter.is_set = True
Ejemplo n.º 11
0
 def choice_validator(self, value):
     if not value in self.choices:
         raise exceptions.CoreException("{0} is not a valid choice for option '{1}', valid values are: {2}".format(value, self.name, sorted(self.choices)))
     return value
Ejemplo n.º 12
0
    def __getattr__(self, name):
        if not name in self._mapping_from_name_to_value:
            raise exceptions.CoreException(
                "tried to get unknown parameter '{0}'".format(name))

        return self._mapping_from_name_to_value[name]