""" *************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * *************************************************************************** """ from qgis.core import ( QgsProcessingAlgorithm, QgsProcessingOutputString, QgsProcessingParameterString, ) class AlgWithComplexParamNames(QgsProcessingAlgorithm): # Constants used to refer to parameters and outputs. They will be # used when calling the algorithm from another algorithm, or when # calling from the QGIS console. INPUT = "INPUT with many complex chars.123 a" INPUT2 = "another% complex# NaMe" OUTPUT = "OUTPUT" def createInstance(self): return AlgWithComplexParamNames() def name(self): return "complex .name$" def initAlgorithm(self, config=None): self.addParameter(QgsProcessingParameterString(self.INPUT, "Input string 1")) self.addParameter(QgsProcessingParameterString(self.INPUT2, "Input string 2")) self.addOutput(QgsProcessingOutputString(self.OUTPUT, "Output string")) def processAlgorithm(self, parameters, context, feedback): string1 = self.parameterAsString(parameters, self.INPUT, context) string2 = self.parameterAsString(parameters, self.INPUT2, context) return {self.OUTPUT: string1.lower() + ":" + string2.lower()}