Ejemplo n.º 1
0
    def getValue(self):
        value = self.leText.text()
        values = []
        #for param in self.modelParametersDialog.model.parameterDefinitions():
        #    if isinstance(param, QgsProcessingParameterNumber):
        #        if "@" + param.name() in value:
        #            values.append(ValueFromInput(param.name()))
        #for alg in list(self.modelParametersDialog.model.algs.values()):
        #    for out in alg.algorithm.outputDefinitions():
        #        if isinstance(out, QgsProcessingOutputNumber) and "@%s_%s" % (alg.modeler_name, out.name) in value:
        #            values.append(ValueFromOutput(alg.modeler_name, out.name()))

        for param in self.modelParametersDialog.model.parameterDefinitions():
            if isinstance(param, QgsProcessingParameterNumber):
                if "@" + param.name() == value:
                    return QgsProcessingModelAlgorithm.ChildParameterSource.fromModelParameter(
                        param.name())

        for alg in list(
                self.modelParametersDialog.model.childAlgorithms().values()):
            for out in alg.algorithm().outputDefinitions():
                if isinstance(out, QgsProcessingOutputNumber) and "@%s_%s" % (
                        alg.childId(), out.name()) == value:
                    return QgsProcessingModelAlgorithm.ChildParameterSource.fromChildOutput(
                        alg.childId(), out.outputName())

        if values:
            return CompoundValue(values, value)
        else:
            return value
Ejemplo n.º 2
0
 def getValue(self):
     value = self.leText.text()
     values = []
     for param in self.modelParametersDialog.model.parameters:
         if isinstance(param, ParameterNumber):
             if "@" + param.name in value:
                 values.append(ValueFromInput(param.name))
     for alg in list(self.modelParametersDialog.model.algs.values()):
         for out in alg.algorithm.outputs:
             if isinstance(out, OutputNumber) and "@%s_%s" % (alg.name(), out.name) in value:
                 values.append(ValueFromOutput(alg.name(), out.name))
     if values:
         return CompoundValue(values, value)
     else:
         return value