Skip to content

Commit 322e511

Browse files
committed
[Processing] Fix default value support in script
For some parameters like Number if no default is set script is invalid.
1 parent e20cfc0 commit 322e511

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

python/plugins/processing/script/ScriptAlgorithm.py

+20-7
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,10 @@ def processInputParameterToken(self, token, name):
217217
param = ParameterSelection(name, descName, options)
218218
elif token.lower().strip().startswith('boolean'):
219219
default = token.strip()[len('boolean') + 1:]
220-
param = ParameterBoolean(name, descName, default)
220+
if default:
221+
param = ParameterBoolean(name, descName, default)
222+
else:
223+
param = ParameterBoolean(name, descName)
221224
elif token.lower().strip() == 'extent':
222225
param = ParameterExtent(name, descName)
223226
elif token.lower().strip() == 'file':
@@ -226,7 +229,10 @@ def processInputParameterToken(self, token, name):
226229
param = ParameterFile(name, descName, True)
227230
elif token.lower().strip().startswith('number'):
228231
default = token.strip()[len('number') + 1:]
229-
param = ParameterNumber(name, descName, default=default)
232+
if default:
233+
param = ParameterNumber(name, descName, default=default)
234+
else:
235+
param = ParameterNumber(name, descName)
230236
elif token.lower().strip().startswith('field'):
231237
field = token.strip()[len('field') + 1:]
232238
found = False
@@ -238,15 +244,22 @@ def processInputParameterToken(self, token, name):
238244
param = ParameterTableField(name, descName, field)
239245
elif token.lower().strip().startswith('string'):
240246
default = token.strip()[len('string') + 1:]
241-
param = ParameterString(name, descName, default)
247+
if default:
248+
param = ParameterString(name, descName, default)
249+
else:
250+
param = ParameterString(name, descName)
242251
elif token.lower().strip().startswith('longstring'):
243252
default = token.strip()[len('longstring') + 1:]
244-
param = ParameterString(name, descName, default, multiline=True)
253+
if default:
254+
param = ParameterString(name, descName, default, multiline=True)
255+
else:
256+
param = ParameterString(name, descName, multiline=True)
245257
elif token.lower().strip().startswith('crs'):
246258
default = token.strip()[len('crs') + 1:]
247-
if not default:
248-
default = 'EPSG:4326'
249-
param = ParameterCrs(name, descName, default)
259+
if default:
260+
param = ParameterCrs(name, descName, default)
261+
else:
262+
param = ParameterCrs(name, descName)
250263

251264
return param
252265

0 commit comments

Comments
 (0)