diff --git a/python/plugins/processing/algs/grass7/Grass7Algorithm.py b/python/plugins/processing/algs/grass7/Grass7Algorithm.py index 5b064b238e4..197da07109a 100644 --- a/python/plugins/processing/algs/grass7/Grass7Algorithm.py +++ b/python/plugins/processing/algs/grass7/Grass7Algorithm.py @@ -68,7 +68,7 @@ from osgeo import ogr from processing.core.ProcessingConfig import ProcessingConfig -from processing.core.parameters import (getParameterFromString) +from processing.core.parameters import getParameterFromString from .Grass7Utils import Grass7Utils @@ -203,6 +203,7 @@ class Grass7Algorithm(QgsProcessingAlgorithm): self._name = self.grass7Name else: self._name = line[:line.find(' ')].lower() + self._short_description = QCoreApplication.translate("GrassAlgorithm", line) self._display_name = self._name # Read the grass group line = lines.readline().strip('\n').strip() @@ -219,7 +220,7 @@ class Grass7Algorithm(QgsProcessingAlgorithm): line = line.strip('\n').strip() if line.startswith('Hardcoded'): self.hardcodedStrings.append(line[len('Hardcoded|'):]) - parameter = getParameterFromString(line) + parameter = getParameterFromString(line, "GrassAlgorithm") if parameter is not None: self.params.append(parameter) if isinstance(parameter, (QgsProcessingParameterVectorLayer, QgsProcessingParameterFeatureSource)): diff --git a/python/plugins/processing/algs/grass7/ext/i.py b/python/plugins/processing/algs/grass7/ext/i.py index 6988da355f0..68f01167906 100644 --- a/python/plugins/processing/algs/grass7/ext/i.py +++ b/python/plugins/processing/algs/grass7/ext/i.py @@ -182,7 +182,7 @@ def verifyRasterNum(alg, parameters, context, rasters, mini, maxi=None): # alg.removeOutputFromName(output) # # Create output parameter -# param = getParameterFromString("ParameterString|{}|output file|None|False|False".format(output)) +# param = getParameterFromString("ParameterString|{}|output file|None|False|False".format(output), 'GrassAlgorithm') # param.value = outputFile.value # alg.addParameter(param) diff --git a/python/plugins/processing/algs/otb/OtbAlgorithm.py b/python/plugins/processing/algs/otb/OtbAlgorithm.py index fd11da79a69..69ea1fa3138 100644 --- a/python/plugins/processing/algs/otb/OtbAlgorithm.py +++ b/python/plugins/processing/algs/otb/OtbAlgorithm.py @@ -135,7 +135,7 @@ class OtbAlgorithm(QgsProcessingAlgorithm): options = params[2].split(';') param = OtbParameterChoice(params[0], params[1], options, params[3], params[4]) else: - param = getParameterFromString(line) + param = getParameterFromString(line, 'OtbAlgorithm') #if parameter is None, then move to next line and continue if param is None: diff --git a/python/plugins/processing/algs/saga/SagaParameters.py b/python/plugins/processing/algs/saga/SagaParameters.py index d6033828e2e..6e71b9ae07e 100644 --- a/python/plugins/processing/algs/saga/SagaParameters.py +++ b/python/plugins/processing/algs/saga/SagaParameters.py @@ -26,8 +26,7 @@ __copyright__ = '(C) 2018, Nyall Dawson' __revision__ = '$Format:%H$' -import os -import importlib +from qgis.PyQt.QtCore import QCoreApplication from qgis.core import QgsProcessingParameterRasterDestination from processing.core.parameters import getParameterFromString @@ -70,6 +69,7 @@ class Parameters: params[3] = True if params[3].lower() == 'true' else False if len(params) > 4: params[4] = True if params[4].lower() == 'true' else False - return SagaImageOutputParam(*params) + param = SagaImageOutputParam(*params) + param.setDescription(QCoreApplication.translate("SAGAAlgorithm", param.description())) else: - return getParameterFromString(line) + return getParameterFromString(line, "SAGAAlgorithm") diff --git a/python/plugins/processing/core/parameters.py b/python/plugins/processing/core/parameters.py index 6446fc4744b..67b629cd694 100755 --- a/python/plugins/processing/core/parameters.py +++ b/python/plugins/processing/core/parameters.py @@ -89,7 +89,7 @@ PARAMETER_FOLDER_DESTINATION = 'folderDestination' PARAMETER_RASTER_DESTINATION = 'rasterDestination' -def getParameterFromString(s): +def getParameterFromString(s, context): # Try the parameter definitions used in description files if '|' in s and (s.startswith("QgsProcessingParameter") or s.startswith("*QgsProcessingParameter") or s.startswith('Parameter') or s.startswith('*Parameter')): isAdvanced = False @@ -244,6 +244,8 @@ def getParameterFromString(s): if isAdvanced: param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced) + param.setDescription(QCoreApplication.translate(context, param.description())) + return param else: return None diff --git a/scripts/processing2ui.pl b/scripts/processing2ui.pl index 2b8a6c8aa7a..c8b77b6b633 100644 --- a/scripts/processing2ui.pl +++ b/scripts/processing2ui.pl @@ -48,6 +48,13 @@ for my $f () { my $name = scalar(); my $desc = scalar(); my $group = scalar(); + + while( my($class, $name, $description, $rest) = split /\|/, scalar() ) { + next unless defined $description; + $description =~ s/\s+$//; + $strings{"GrassAlgorithm"}{$description} = 1 + } + close I; chop $desc; @@ -57,23 +64,16 @@ for my $f () { $strings{"GrassAlgorithm"}{$group} = 1; } -for my $f () { - open I, $f; - my $desc = scalar(); - my $name = scalar(); - my $group = scalar(); - close I; - - chop $desc; - chop $group; - - $strings{"TAUDEMAlgorithm"}{$desc} = 1; - $strings{"TAUDEMAlgorithm"}{$group} = 1; -} - for my $f () { open I, $f; my $desc = scalar(); + + while( my($class, $name, $description, $rest) = split /\|/, scalar() ) { + next unless defined $description; + $description =~ s/\s+$//; + $strings{"SAGAAlgorithm"}{$description} = 1 + } + close I; chop $desc;