@@ -122,8 +122,8 @@ def tr(self, string, context=''):
122
122
123
123
class ParameterBoolean (Parameter ):
124
124
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 )
127
127
128
128
def setValue (self , value ):
129
129
if value is None :
@@ -152,10 +152,10 @@ def __init__(self, name='', description='', default=None, optional=False):
152
152
Parameter .__init__ (self , name , description , default , optional )
153
153
154
154
def setValue (self , value ):
155
- if value is None :
155
+ if value is None or value . strip () == '' :
156
156
if not self .optional :
157
157
return False
158
- self .value = None
158
+ self .value = None if value is None else value . strip ()
159
159
return True
160
160
161
161
# TODO: check it is a valid authid
@@ -195,7 +195,7 @@ def setValue(self, text):
195
195
self .value = None
196
196
return True
197
197
198
- tokens = text .split (',' )
198
+ tokens = unicode ( text ) .split (',' )
199
199
if len (tokens ) != 4 :
200
200
return False
201
201
try :
@@ -218,7 +218,7 @@ def getAsScriptCode(self):
218
218
class ParameterFile (Parameter ):
219
219
220
220
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 ))
222
222
self .ext = ext
223
223
self .isFolder = parseBool (isFolder )
224
224
@@ -229,7 +229,7 @@ def setValue(self, obj):
229
229
if obj is None or obj .strip () == '' :
230
230
if not self .optional :
231
231
return False
232
- self .value = ''
232
+ self .value = None if obj is None else obj . strip ()
233
233
return True
234
234
235
235
if self .ext is not None and obj != '' and not obj .endswith (self .ext ):
@@ -591,7 +591,7 @@ def getAsScriptCode(self):
591
591
592
592
class ParameterSelection (Parameter ):
593
593
594
- def __init__ (self , name = '' , description = '' , options = [], default = 0 , isSource = False ,
594
+ def __init__ (self , name = '' , description = '' , options = [], default = None , isSource = False ,
595
595
optional = False ):
596
596
Parameter .__init__ (self , name , description , default , optional )
597
597
isSource = parseBool (isSource )
@@ -610,11 +610,12 @@ def __init__(self, name='', description='', options=[], default=0, isSource=Fals
610
610
elif isinstance (self .options , basestring ):
611
611
self .options = self .options .split (";" )
612
612
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
618
619
619
620
def setValue (self , n ):
620
621
if n is None :
@@ -636,16 +637,16 @@ class ParameterString(Parameter):
636
637
NEWLINE = '\n '
637
638
ESCAPED_NEWLINE = '\\ n'
638
639
639
- def __init__ (self , name = '' , description = '' , default = '' , multiline = False ,
640
+ def __init__ (self , name = '' , description = '' , default = None , multiline = False ,
640
641
optional = False ):
641
642
Parameter .__init__ (self , name , description , default , optional )
642
643
self .multiline = parseBool (multiline )
643
644
644
645
def setValue (self , obj ):
645
646
if obj is None :
646
- if not self .optional and self . default is None :
647
+ if not self .optional :
647
648
return False
648
- self .value = ''
649
+ self .value = None
649
650
return True
650
651
651
652
self .value = unicode (obj ).replace (
@@ -875,7 +876,7 @@ class ParameterGeometryPredicate(Parameter):
875
876
876
877
def __init__ (self , name = '' , description = '' , left = None , right = None ,
877
878
optional = False , enabledPredicates = None ):
878
- Parameter .__init__ (self , name , description , [] , optional )
879
+ Parameter .__init__ (self , name , description , None , optional )
879
880
self .left = left
880
881
self .right = right
881
882
self .value = None
0 commit comments