Skip to content

Commit 2dea7c8

Browse files
mbernasocchim-kuhn
authored andcommittedJun 3, 2016
[processing] allow optional in all getAsScriptCode
1 parent ebf41f0 commit 2dea7c8

File tree

1 file changed

+70
-15
lines changed

1 file changed

+70
-15
lines changed
 

‎python/plugins/processing/core/parameters.py

Lines changed: 70 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,11 @@ def setValue(self, value):
140140
return True
141141

142142
def getAsScriptCode(self):
143-
return '##' + self.name + '=boolean ' + str(self.default)
143+
param_type = ''
144+
if self.optional:
145+
param_type += 'optional '
146+
param_type += 'boolean '
147+
return '##' + self.name + '=' + param_type + str(self.default)
144148

145149

146150
class ParameterCrs(Parameter):
@@ -167,7 +171,11 @@ def getValueAsCommandLineParameter(self):
167171
return '"' + unicode(self.value) + '"'
168172

169173
def getAsScriptCode(self):
170-
return '##' + self.name + '=crs ' + str(self.default)
174+
param_type = ''
175+
if self.optional:
176+
param_type += 'optional '
177+
param_type += 'crs '
178+
return '##' + self.name + '=' + param_type + str(self.default)
171179

172180

173181
class ParameterDataObject(Parameter):
@@ -213,7 +221,12 @@ def getValueAsCommandLineParameter(self):
213221
return '"' + unicode(self.value) + '"'
214222

215223
def getAsScriptCode(self):
216-
return '##' + self.name + '=extent'
224+
param_type = ''
225+
if self.optional:
226+
param_type += 'optional '
227+
param_type += 'extent'
228+
return '##' + self.name + '=' + param_type
229+
217230

218231

219232
class ParameterPoint(Parameter):
@@ -244,7 +257,11 @@ def getValueAsCommandLineParameter(self):
244257
return '"' + unicode(self.value) + '"'
245258

246259
def getAsScriptCode(self):
247-
return '##' + self.name + '=point'
260+
param_type = ''
261+
if self.optional:
262+
param_type += 'optional '
263+
param_type += 'point'
264+
return '##' + self.name + '=' + param_type
248265

249266

250267
class ParameterFile(Parameter):
@@ -276,10 +293,14 @@ def typeName(self):
276293
return 'file'
277294

278295
def getAsScriptCode(self):
296+
param_type = ''
297+
if self.optional:
298+
param_type += 'optional '
279299
if self.isFolder:
280-
return '##' + self.name + '=folder'
300+
param_type += 'folder'
281301
else:
282-
return '##' + self.name + '=file'
302+
param_type += 'file'
303+
return '##' + self.name + '=' + param_type
283304

284305

285306
class ParameterFixedTable(Parameter):
@@ -501,12 +522,16 @@ def dataType(self):
501522
return 'any vectors'
502523

503524
def getAsScriptCode(self):
525+
param_type = ''
526+
if self.optional:
527+
param_type += 'optional '
504528
if self.datatype == self.TYPE_RASTER:
505-
return '##' + self.name + '=multiple raster'
529+
param_type += 'multiple raster'
506530
if self.datatype == self.TYPE_FILE:
507-
return '##' + self.name + '=multiple file'
531+
param_type += 'multiple file'
508532
else:
509-
return '##' + self.name + '=multiple vector'
533+
param_type += 'multiple vector'
534+
return '##' + self.name + '=' + param_type
510535

511536

512537
class ParameterNumber(Parameter):
@@ -559,7 +584,11 @@ def setValue(self, n):
559584
return False
560585

561586
def getAsScriptCode(self):
562-
return '##' + self.name + '=number ' + str(self.default)
587+
param_type = ''
588+
if self.optional:
589+
param_type += 'optional '
590+
param_type += 'number'
591+
return '##' + self.name + '=' + param_type + str(self.default)
563592

564593

565594
class ParameterRange(Parameter):
@@ -657,7 +686,11 @@ def getFileFilter(self):
657686
return ';;'.join(exts)
658687

659688
def getAsScriptCode(self):
660-
return '##' + self.name + '=raster'
689+
param_type = ''
690+
if self.optional:
691+
param_type += 'optional '
692+
param_type += 'raster'
693+
return '##' + self.name + '=' + param_type
661694

662695

663696
class ParameterSelection(Parameter):
@@ -733,7 +766,11 @@ def getValueAsCommandLineParameter(self):
733766
if self.value is not None else unicode(None))
734767

735768
def getAsScriptCode(self):
736-
return '##' + self.name + '=string ' + self.default
769+
param_type = ''
770+
if self.optional:
771+
param_type += 'optional '
772+
param_type += 'string'
773+
return '##' + self.name + '=' + param_type + self.default
737774

738775

739776
class ParameterTable(ParameterDataObject):
@@ -801,10 +838,20 @@ def getFileFilter(self):
801838
return ';;'.join(exts)
802839

803840
def getAsScriptCode(self):
804-
return '##' + self.name + '=table'
841+
param_type = ''
842+
if self.optional:
843+
param_type += 'optional '
844+
param_type += 'table'
845+
return '##' + self.name + '=' + param_type
805846

806847

807848
class ParameterTableField(Parameter):
849+
"""A parameter representing a table field.
850+
Its value is a string that represents the name of the field.
851+
852+
In a script you can use it with
853+
##Field=[optional] field [number|string] Parentinput
854+
"""
808855

809856
DATA_TYPE_NUMBER = 0
810857
DATA_TYPE_STRING = 1
@@ -844,7 +891,11 @@ def dataType(self):
844891
return 'any'
845892

846893
def getAsScriptCode(self):
847-
return '##' + self.name + '=field ' + self.parent
894+
param_type = ''
895+
if self.optional:
896+
param_type += 'optional '
897+
param_type += 'field'
898+
return '##' + self.name + '=' + param_type + self.parent
848899

849900

850901
class ParameterVector(ParameterDataObject):
@@ -932,7 +983,11 @@ def dataType(self):
932983
return types[:-2]
933984

934985
def getAsScriptCode(self):
935-
return '##' + self.name + '=vector'
986+
param_type = ''
987+
if self.optional:
988+
param_type += 'optional '
989+
param_type += 'vector'
990+
return '##' + self.name + '=' + param_type
936991

937992

938993
class ParameterGeometryPredicate(Parameter):

0 commit comments

Comments
 (0)
Please sign in to comment.