コード例 #1
0
ファイル: ListExpression.py プロジェクト: florian-f/echomesh
  def __init__(self, expressions, element):
    self.expressions = []
    self._is_constant = True
    for e in expressions:
      expr = UnitExpression(e, element)
      self.expressions.append(expr)
      self._is_constant = self._is_constant and expr.is_constant()

    if self._is_constant:
      self.value = self._evaluate()
コード例 #2
0
    def __init__(self, expressions, element):
        self.expressions = []
        self._is_constant = True
        for e in expressions:
            if _LIST_COMPONENTS_ARE_CONSTANT:
                expr = constant_expression(e)
            else:
                expr = UnitExpression(e, element)
            self.expressions.append(expr)
            self._is_constant = self._is_constant and expr.is_constant()

        if self._is_constant:
            self.value = self._evaluate()
コード例 #3
0
    def __init__(self, expressions, element):
        self.expressions = []
        self._is_constant = True
        for e in expressions:
            if _LIST_COMPONENTS_ARE_CONSTANT:
                expr = constant_expression(e)
            else:
                expr = UnitExpression(e, element)
            self.expressions.append(expr)
            self._is_constant = self._is_constant and expr.is_constant()

        if self._is_constant:
            self.value = self._evaluate()
コード例 #4
0
def variable(description, element):
    if not isinstance(description, dict):
        return UnitExpression(description, element)

    description = copy.copy(description)
    vtype = description.pop('type', None)
    if not vtype:
        raise Exception('No type in variable, description="%s".' % description)
    return REGISTRY.function(vtype)(description, element)
コード例 #5
0
ファイル: Expression.py プロジェクト: sagistrauss/echomesh
def expression(expr, element):
    try:
        if isinstance(expr, dict):
            return Envelope(expr, element)

        if isinstance(expr, (list, tuple)):
            return ListExpression(expr, element)

        if isinstance(expr, six.string_types) and ',' in expr:
            return ListExpression(expr.split(','), element)

        return UnitExpression(expr, element)
    except Exception as e:
        e.message = "Couldn't evaluate expression %s because %s" % (
            expr, e.message)
        raise
コード例 #6
0
ファイル: Expression.py プロジェクト: sagistrauss/echomesh
def convert(number, element=None, assume_minutes=True):
    if number is None:
        return number
    return UnitExpression(number, element, assume_minutes).evaluate()
コード例 #7
0
def constant_expression(expr):
    ue = UnitExpression(None)
    ue.value = expr
    return ue