@@ -140,7 +140,11 @@ def setValue(self, value):
140
140
return True
141
141
142
142
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 )
144
148
145
149
146
150
class ParameterCrs (Parameter ):
@@ -167,7 +171,11 @@ def getValueAsCommandLineParameter(self):
167
171
return '"' + unicode (self .value ) + '"'
168
172
169
173
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 )
171
179
172
180
173
181
class ParameterDataObject (Parameter ):
@@ -213,7 +221,12 @@ def getValueAsCommandLineParameter(self):
213
221
return '"' + unicode (self .value ) + '"'
214
222
215
223
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
+
217
230
218
231
219
232
class ParameterPoint (Parameter ):
@@ -244,7 +257,11 @@ def getValueAsCommandLineParameter(self):
244
257
return '"' + unicode (self .value ) + '"'
245
258
246
259
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
248
265
249
266
250
267
class ParameterFile (Parameter ):
@@ -276,10 +293,14 @@ def typeName(self):
276
293
return 'file'
277
294
278
295
def getAsScriptCode (self ):
296
+ param_type = ''
297
+ if self .optional :
298
+ param_type += 'optional '
279
299
if self .isFolder :
280
- return '##' + self . name + '= folder'
300
+ param_type += ' folder'
281
301
else :
282
- return '##' + self .name + '=file'
302
+ param_type += 'file'
303
+ return '##' + self .name + '=' + param_type
283
304
284
305
285
306
class ParameterFixedTable (Parameter ):
@@ -501,12 +522,16 @@ def dataType(self):
501
522
return 'any vectors'
502
523
503
524
def getAsScriptCode (self ):
525
+ param_type = ''
526
+ if self .optional :
527
+ param_type += 'optional '
504
528
if self .datatype == self .TYPE_RASTER :
505
- return '##' + self . name + '= multiple raster'
529
+ param_type += ' multiple raster'
506
530
if self .datatype == self .TYPE_FILE :
507
- return '##' + self . name + '= multiple file'
531
+ param_type += ' multiple file'
508
532
else :
509
- return '##' + self .name + '=multiple vector'
533
+ param_type += 'multiple vector'
534
+ return '##' + self .name + '=' + param_type
510
535
511
536
512
537
class ParameterNumber (Parameter ):
@@ -559,7 +584,11 @@ def setValue(self, n):
559
584
return False
560
585
561
586
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 )
563
592
564
593
565
594
class ParameterRange (Parameter ):
@@ -657,7 +686,11 @@ def getFileFilter(self):
657
686
return ';;' .join (exts )
658
687
659
688
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
661
694
662
695
663
696
class ParameterSelection (Parameter ):
@@ -733,7 +766,11 @@ def getValueAsCommandLineParameter(self):
733
766
if self .value is not None else unicode (None ))
734
767
735
768
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
737
774
738
775
739
776
class ParameterTable (ParameterDataObject ):
@@ -801,10 +838,20 @@ def getFileFilter(self):
801
838
return ';;' .join (exts )
802
839
803
840
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
805
846
806
847
807
848
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
+ """
808
855
809
856
DATA_TYPE_NUMBER = 0
810
857
DATA_TYPE_STRING = 1
@@ -844,7 +891,11 @@ def dataType(self):
844
891
return 'any'
845
892
846
893
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
848
899
849
900
850
901
class ParameterVector (ParameterDataObject ):
@@ -932,7 +983,11 @@ def dataType(self):
932
983
return types [:- 2 ]
933
984
934
985
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
936
991
937
992
938
993
class ParameterGeometryPredicate (Parameter ):
0 commit comments