Skip to content

Commit 8798c42

Browse files
committed
[Processing] Parameter default value is None
1 parent 7754f17 commit 8798c42

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

python/plugins/processing/core/parameters.py

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ def tr(self, string, context=''):
122122

123123
class ParameterBoolean(Parameter):
124124

125-
def __init__(self, name='', description='', default=True, optional=False):
126-
Parameter.__init__(self, name, description, parseBool(default), optional)
125+
def __init__(self, name='', description='', default=None, optional=False):
126+
Parameter.__init__(self, name, description, default, optional)
127127

128128
def setValue(self, value):
129129
if value is None:
@@ -152,10 +152,10 @@ def __init__(self, name='', description='', default=None, optional=False):
152152
Parameter.__init__(self, name, description, default, optional)
153153

154154
def setValue(self, value):
155-
if value is None:
155+
if value is None or value.strip() == '':
156156
if not self.optional:
157157
return False
158-
self.value = None
158+
self.value = None if value is None else value.strip()
159159
return True
160160

161161
# TODO: check it is a valid authid
@@ -195,7 +195,7 @@ def setValue(self, text):
195195
self.value = None
196196
return True
197197

198-
tokens = text.split(',')
198+
tokens = unicode(text).split(',')
199199
if len(tokens) != 4:
200200
return False
201201
try:
@@ -218,7 +218,7 @@ def getAsScriptCode(self):
218218
class ParameterFile(Parameter):
219219

220220
def __init__(self, name='', description='', isFolder=False, optional=True, ext=None):
221-
Parameter.__init__(self, name, description, '', parseBool(optional))
221+
Parameter.__init__(self, name, description, None, parseBool(optional))
222222
self.ext = ext
223223
self.isFolder = parseBool(isFolder)
224224

@@ -229,7 +229,7 @@ def setValue(self, obj):
229229
if obj is None or obj.strip() == '':
230230
if not self.optional:
231231
return False
232-
self.value = ''
232+
self.value = None if obj is None else obj.strip()
233233
return True
234234

235235
if self.ext is not None and obj != '' and not obj.endswith(self.ext):
@@ -591,7 +591,7 @@ def getAsScriptCode(self):
591591

592592
class ParameterSelection(Parameter):
593593

594-
def __init__(self, name='', description='', options=[], default=0, isSource=False,
594+
def __init__(self, name='', description='', options=[], default=None, isSource=False,
595595
optional=False):
596596
Parameter.__init__(self, name, description, default, optional)
597597
isSource = parseBool(isSource)
@@ -610,11 +610,12 @@ def __init__(self, name='', description='', options=[], default=0, isSource=Fals
610610
elif isinstance(self.options, basestring):
611611
self.options = self.options.split(";")
612612

613-
try:
614-
self.default = int(default)
615-
except:
616-
self.default = 0
617-
self.value = self.default
613+
if default is not None:
614+
try:
615+
self.default = int(default)
616+
except:
617+
self.default = 0
618+
self.value = self.default
618619

619620
def setValue(self, n):
620621
if n is None:
@@ -636,16 +637,16 @@ class ParameterString(Parameter):
636637
NEWLINE = '\n'
637638
ESCAPED_NEWLINE = '\\n'
638639

639-
def __init__(self, name='', description='', default='', multiline=False,
640+
def __init__(self, name='', description='', default=None, multiline=False,
640641
optional=False):
641642
Parameter.__init__(self, name, description, default, optional)
642643
self.multiline = parseBool(multiline)
643644

644645
def setValue(self, obj):
645646
if obj is None:
646-
if not self.optional and self.default is None:
647+
if not self.optional:
647648
return False
648-
self.value = ''
649+
self.value = None
649650
return True
650651

651652
self.value = unicode(obj).replace(
@@ -875,7 +876,7 @@ class ParameterGeometryPredicate(Parameter):
875876

876877
def __init__(self, name='', description='', left=None, right=None,
877878
optional=False, enabledPredicates=None):
878-
Parameter.__init__(self, name, description, [], optional)
879+
Parameter.__init__(self, name, description, None, optional)
879880
self.left = left
880881
self.right = right
881882
self.value = None

0 commit comments

Comments
 (0)