From 433d376c8ae78204c83848da392b1029b7fbc7b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9d=C3=A9ric=20RIBREUX?= Date: Tue, 26 Dec 2017 18:53:30 +0100 Subject: [PATCH] Fix optional None input parameters handling --- python/plugins/processing/algs/grass7/Grass7Algorithm.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python/plugins/processing/algs/grass7/Grass7Algorithm.py b/python/plugins/processing/algs/grass7/Grass7Algorithm.py index e840c2ba3cf0..2a4d70cc9081 100644 --- a/python/plugins/processing/algs/grass7/Grass7Algorithm.py +++ b/python/plugins/processing/algs/grass7/Grass7Algorithm.py @@ -409,8 +409,12 @@ def processInputs(self, parameters, context): paramName = param.name() if not paramName in parameters: continue - if isinstance(parameters[paramName], str) and len(parameters[paramName]) == 0: + # Handle Null parameter + if parameters[paramName] is None: continue + elif isinstance(parameters[paramName], str) and len(parameters[paramName]) == 0: + continue + # Raster inputs needs to be imported into temp GRASS DB if isinstance(param, QgsProcessingParameterRasterLayer): if paramName not in self.exportedLayers: @@ -622,6 +626,7 @@ def loadRasterLayerFromParameter(self, name, parameters, context, external=True, :param band: imports only specified band. None for all bands. """ layer = self.parameterAsRasterLayer(parameters, name, context) + QgsMessageLog.logMessage('raster: {0}'.format(name), 'DEBUG', QgsMessageLog.INFO) self.loadRasterLayer(name, layer, external, band) def loadRasterLayer(self, name, layer, external=True, band=1):