Beispiel #1
0
    def _read_dict(vec):
        # DICT_FORMAT
        #     {'variable': {exponent: coefficient, ...}, ...}

        _var = []
        _vec = {}
        for var in vec:
            str_check(var)
            dict_check(vec[var])
            for exp in vec[var]:
                int_check(exp)
                number_check(vec[var][exp])
            _var.append(var)
        _vec.update(vec)
        return _var, _vec
Beispiel #2
0
    def _read_vars(self, *vars):
        _var = {}
        for var in vars:
            if isinstance(var, numbers.Number):
                if len(self._var) == 0:
                    _var[self._dfvar] = var
                else:
                    _var[self._var[0]] = var

            elif isinstance(var, dict):
                _var = var
                return var

            else:
                tuple_check(var)
                if len(var) != 2:
                    raise DefinitionError(
                        'Tuple of variable name and corresponding value in need.'
                    )

                str_check(var[0])
                number_check(var[1])
                if var[0] in _var:
                    raise DefinitionError(
                        'Only one set of variable name and corresponding value taken.'
                    )
                elif var[0] not in self._var:
                    raise KeywordError('Variable \'%s\' is not found.' %
                                       var[0])
                else:
                    _var[var[0]] = var[1]

        if _var == {}: return None

        if len(_var) != len(self._var):
            for var in _var:
                self._var.remove(var)
            var = '\', \''.join(self._var)
            raise KeywordError('Variable \'%s\' should be assigned.' % var)

        return _var
Beispiel #3
0
 def default(self, var=None):
     if var is None:
         self._dfvar = _dfvar
     else:
         str_check(var)
         self._dfvar = var