Ejemplo n.º 1
0
    def get_value(self) -> "FunctionArgValueInput":
        ret = functions.FunctionArgValueInput()
        ret.inputs = [v.get_value() for v in self.inputs]

        keywords_ = {}
        for k, v in self.keywords.items():
            keywords_[k] = v.get_value()
        ret.keywords = keywords_
        return ret
Ejemplo n.º 2
0
def make_attribute(value):
    if isinstance(value, list):
        for i in range(len(value)):
            value[i] = make_attribute(value[i])

    if isinstance(value, functions.FunctionArgValueInput):
        converted = {}

        ret = functions.FunctionArgValueInput()

        for v in value.inputs:
            converted_v = make_attribute(v)
            ret.inputs.append(converted_v)
            converted[v] = converted_v

        keywords_ = {}
        for k, v in value.keywords.items():
            if v in converted.keys():
                keywords_[k] = converted[v]
            else:
                keywords_[k] = make_attribute(v)
        ret.keywords = keywords_
        return ret

    if isinstance(value,
                  values.TupleValue) and value.internal_value is not None:
        vs = []
        for v in value.internal_value:
            if isinstance(v, values.Object):
                v = v.get_value()
            vs.append(v)

        ret = values.TupleValue(vs)
        ret.name = value.name
        ret.generator = value.generator

        return ret

    if isinstance(value, values.Object):
        return value.get_value()

    return value