Skip to content
Permalink
Browse files

Adapt more python code to new API

  • Loading branch information
nyalldawson committed Jun 5, 2017
1 parent 28f7a8b commit 87fc31d6dec584c826515c20bd3d66c655ac541d
@@ -95,10 +95,11 @@ def shortHelpString(self):
'''.format(self.commandName(), url)

def commandName(self):
parameters = {}
for output in self.outputs:
output.setValue("dummy")
for param in self.parameters:
param.setValue("1")
for param in self.parameterDefinitions():
parameters[param.name()] = "1"
name = self.getConsoleCommands(parameters)[0]
if name.endswith(".py"):
name = name[:-3]
@@ -132,11 +132,11 @@ def getParameterDescriptions(self):
lines = infile.readlines()
for i in range(len(lines)):
if lines[i].startswith('<DT><b>'):
for param in self.parameters:
searchLine = '<b>' + param.name + '</b>'
for param in self.parameterDefinitions():
searchLine = '<b>' + param.name() + '</b>'
if searchLine in lines[i]:
i += 1
descs[param.name] = (lines[i])[4:-6]
descs[param.name()] = (lines[i])[4:-6]
break

except Exception:
@@ -217,22 +217,22 @@ def defineCharacteristicsFromFile(self):
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
self.addParameter(param)

def getDefaultCellsize(self):
context = dataobjects.createContext()
def getDefaultCellsize(self, parameters, context):
cellsize = 0
for param in self.parameters:
if param.value:
for param in self.parameterDefinitions():
if param.name() in parameters:
value = parameters[param.name()]
if isinstance(param, ParameterRaster):
if isinstance(param.value, QgsRasterLayer):
layer = param.value
if isinstance(value, QgsRasterLayer):
layer = value
else:
layer = QgsProcessingUtils.mapLayerFromString(param.value, context)
cellsize = max(cellsize, (layer.extent().xMaximum() -
layer.extent().xMinimum()) /
layer.width())
elif isinstance(param, ParameterMultipleInput):

layers = param.value.split(';')
layers = value.split(';')
for layername in layers:
layer = QgsProcessingUtils.mapLayerFromString(layername, context)
if isinstance(layer, QgsRasterLayer):
@@ -274,7 +274,7 @@ def processAlgorithm(self, parameters, context, feedback):
func = getattr(self.module, 'processInputs')
func(self)
else:
self.processInputs()
self.processInputs(parameters,context)

if hasattr(self.module, 'processCommand'):
func = getattr(self.module, 'processCommand')
@@ -288,7 +288,7 @@ def processAlgorithm(self, parameters, context, feedback):
else:
self.processOutputs()
else:
self.processInputs()
self.processInputs(parameters,context)
self.processCommand()
self.processOutputs()

@@ -317,13 +317,13 @@ def processAlgorithm(self, parameters, context, feedback):
else:
Grass7Utils.endGrass7Session()

def processInputs(self):
def processInputs(self, parameters, context):
"""Prepare the GRASS import commands"""
for param in self.parameters:
for param in self.parameterDefinitions():
if isinstance(param, ParameterRaster):
if param.value is None:
if not param.name() in parameters():
continue
value = param.value
value = parameters[param.name()]

# Check if the layer hasn't already been exported in, for
# example, previous GRASS calls in this session
@@ -333,9 +333,9 @@ def processInputs(self):
self.setSessionProjectionFromLayer(value, self.commands)
self.commands.append(self.exportRasterLayer(value))
if isinstance(param, ParameterVector):
if param.value is None:
if not param.name() in parameters():
continue
value = param.value
value = parameters[param.name()]
if value in list(self.exportedLayers.keys()):
continue
else:
@@ -344,9 +344,10 @@ def processInputs(self):
if isinstance(param, ParameterTable):
pass
if isinstance(param, ParameterMultipleInput):
if param.value is None:
if not param.name() in parameters():
continue
layers = param.value.split(';')
value = parameters[param.name()]
layers = value.split(';')
if layers is None or len(layers) == 0:
continue
if param.datatype == dataobjects.TYPE_RASTER:
@@ -384,7 +385,7 @@ def processInputs(self):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(self.getDefaultCellsize())
command += ' res=' + str(self.getDefaultCellsize(parameters, context))
alignToResolution = \
self.getParameterValue(self.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
@@ -93,7 +93,7 @@ def orderedInput(alg, inputParameter, targetParameterDef, numSeq=None):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters, context))
alignToResolution = \
alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
@@ -57,7 +57,7 @@ def processInputs(alg):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters, context))
alignToResolution = alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
command += ' -a'
@@ -59,7 +59,7 @@ def processInputs(alg):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters, context))
alignToResolution = alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
command += ' -a'
@@ -75,13 +75,13 @@ def processInputs(alg):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters, context))
alignToResolution = alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
command += ' -a'
alg.commands.append(command)
else:
alg.processInputs()
alg.processInputs(context, parameters)


def processCommand(alg, parameters):
@@ -65,7 +65,7 @@ def processInputs(alg):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters, context))
alignToResolution = alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
command += ' -a'
@@ -53,7 +53,7 @@ def processInputs(alg):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters, context))
alignToResolution = alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
command += ' -a'
@@ -67,7 +67,7 @@ def processInputs(alg):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters,context))
alignToResolution = alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
command += ' -a'
@@ -62,7 +62,7 @@ def processInputs(alg):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters,context))
alignToResolution = alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
command += ' -a'
@@ -55,7 +55,7 @@ def processInputs(alg):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters,context))
alignToResolution = alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
command += ' -a'
@@ -63,7 +63,7 @@ def processInputs(alg):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters,context))
alignToResolution = alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
command += ' -a'
@@ -53,7 +53,7 @@ def processInputs(alg):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(alg.getDefaultCellsize())
command += ' res=' + str(alg.getDefaultCellsize(parameters,context))
alignToResolution = alg.getParameterValue(alg.GRASS_REGION_ALIGN_TO_RESOLUTION)
if alignToResolution:
command += ' -a'
@@ -45,7 +45,7 @@ def processInputs(alg):
alg.exportedLayers[rstable]
)
alg.commands.append(command)
alg.processInputs()
alg.processInputs(context,parameters)


def processCommand(alg, parameters):
@@ -37,7 +37,7 @@ def processInputs(alg):
alg.exportedLayers[rstable]
)
alg.commands.append(command)
alg.processInputs()
alg.processInputs(parameters,context)


def processCommand(alg, parameters):
@@ -115,7 +115,7 @@ def processAlgorithm(self, parameters, context, feedback):
if cellsize:
command += ' res=' + str(cellsize)
else:
command += ' res=' + str(self.getDefaultCellsize())
command += ' res=' + str(self.getDefaultCellsize(parameters,context))
commands.append(command)

command = 'nviz7'
@@ -170,22 +170,22 @@ def exportRasterLayer(self, layer):
command += ' --overwrite -o'
return (command, destFilename)

def getDefaultCellsize(self):
def getDefaultCellsize(self, parameters, context):
cellsize = 0
context = dataobjects.createContext()
for param in self.parameters:
if param.value:
for param in self.parameterDefinitions():
if param.name() in parameters:
value = parameters[param.name()]
if isinstance(param, ParameterRaster):
if isinstance(param.value, QgsRasterLayer):
layer = param.value
if isinstance(value, QgsRasterLayer):
layer = value
else:
layer = QgsProcessingUtils.mapLayerFromString(param.value, context)
layer = QgsProcessingUtils.mapLayerFromString(value, context)
cellsize = max(cellsize, (layer.extent().xMaximum() -
layer.extent().xMinimum()) /
layer.width())
elif isinstance(param, ParameterMultipleInput):

layers = param.value.split(';')
layers = value.split(';')
for layername in layers:
layer = QgsProcessingUtils.mapLayerFromString(layername, context)
if isinstance(layer, QgsRasterLayer):

0 comments on commit 87fc31d

Please sign in to comment.
You can’t perform that action at this time.