def _expressionValues(self, text): strings = self.dialog.getAvailableValuesOfType( [QgsProcessingParameterString, QgsProcessingParameterNumber], []) model_params = [(self.dialog.resolveValueDescription(s), s) for s in strings] variables = QgsExpression.referencedVariables(text) # replace description by parameter's name (diverging after model save) descriptions = QgsExpression.referencedVariables(text) for k, v in model_params: if k in descriptions: text = text.replace('[% @{} %]'.format(k), '[% @{} %]'.format(v.parameterName())) src = QgsProcessingModelChildParameterSource.fromExpressionText(text) # add parameters currently used by the expression expression_values = [] expression_values.append(src) for k, v in model_params: if k in variables: expression_values.append(v) return expression_values
def _expressionValues(self, text): strings = self.dialog.getAvailableValuesOfType( [QgsProcessingParameterString, QgsProcessingParameterNumber], []) model_params = [(self.dialog.resolveValueDescription(s), s) for s in strings] variables = QgsExpression.referencedVariables(text) # replace description by parameter's name (diverging after model save) descriptions = QgsExpression.referencedVariables(text) for k, v in model_params: if k in descriptions: text = text.replace('[% @{} %]'.format(k), '[% @{} %]'.format(v.parameterName())) src = QgsProcessingModelChildParameterSource.fromExpressionText(text) # add parameters currently used by the expression expression_values = [] expression_values.append(src) for k, v in model_params: if k in variables: expression_values.append(v) return expression_values
def _expressionValues(self, text): strings = self.dialog.getAvailableValuesOfType( [QgsProcessingParameterString, QgsProcessingParameterNumber], []) model_params = [(self.dialog.resolveValueDescription(s), s) for s in strings] variables = QgsExpression.referencedVariables(text) expression_values = [] expression_values.append(QgsProcessingModelChildParameterSource.fromExpressionText(text)) for k, v in model_params: if k in variables: expression_values.append(v) return expression_values
def _expressionValues(self, text): strings = self.dialog.getAvailableValuesOfType( [QgsProcessingParameterString, QgsProcessingParameterNumber], []) model_params = [(self.dialog.resolveValueDescription(s), s) for s in strings] variables = QgsExpression.referencedVariables(text) expression_values = [] expression_values.append(QgsProcessingModelChildParameterSource.fromExpressionText(text)) for k, v in model_params: if k in variables: expression_values.append(v) return expression_values