[processing][gdal] Don't insert 'temporary file' strings in command for non-specified optional outputs

This commit is contained in:
Nyall Dawson 2021-02-26 11:47:37 +10:00
parent ea113cbf4a
commit 0a6436402d

View File

@ -123,13 +123,16 @@ class GdalParametersPanel(ParametersPanel):
parameters = self.dialog.createProcessingParameters() parameters = self.dialog.createProcessingParameters()
for output in self.algorithm().destinationParameterDefinitions(): for output in self.algorithm().destinationParameterDefinitions():
if not output.name() in parameters or parameters[output.name()] is None: if not output.name() in parameters or parameters[output.name()] is None:
if not output.flags() & QgsProcessingParameterDefinition.FlagOptional:
parameters[output.name()] = self.tr("[temporary file]") parameters[output.name()] = self.tr("[temporary file]")
for p in self.algorithm().parameterDefinitions(): for p in self.algorithm().parameterDefinitions():
if p.flags() & QgsProcessingParameterDefinition.FlagHidden: if p.flags() & QgsProcessingParameterDefinition.FlagHidden:
continue continue
if (not p.name() in parameters and not p.flags() & QgsProcessingParameterDefinition.FlagOptional) \ if p.flags() & QgsProcessingParameterDefinition.FlagOptional and p.name() not in parameters:
or (not p.checkValueIsAcceptable(parameters[p.name()])): continue
if p.name() not in parameters or not p.checkValueIsAcceptable(parameters[p.name()]):
# not ready yet # not ready yet
self.text.setPlainText('') self.text.setPlainText('')
return return