@@ -287,7 +287,7 @@ def set_value(self, new_value):
287287 else :
288288 f = float (new_value )
289289
290- self .ast_node .n = f
290+ self .ast_node .value = f
291291 except ValueError :
292292 raise InvalidParameterError (
293293 "Cannot set value '{0:s}' for parameter '{1:s}': parameter must be numeric." .format (
@@ -296,20 +296,13 @@ def set_value(self, new_value):
296296 )
297297
298298 elif self .varType == StringParameterType :
299- self .ast_node .s = str (new_value )
299+ self .ast_node .value = str (new_value )
300300 elif self .varType == BooleanParameterType :
301301 if new_value :
302- if hasattr (ast , "NameConstant" ):
303- self .ast_node .value = True
304- else :
305- self .ast_node .id = "True"
302+ self .ast_node .value = True
306303 else :
307- if hasattr (ast , "NameConstant" ):
308- self .ast_node .value = False
309- else :
310- self .ast_node .id = "False"
304+ self .ast_node .value = False
311305 elif self .varType == TupleParameterType :
312- self .ast_node .n = new_value
313306
314307 # Build the list of constants to set as the tuple value
315308 constants = []
@@ -472,7 +465,7 @@ def visit_Call(self, node):
472465 # first parameter is the variable,
473466 # second is the description
474467 varname = node .args [0 ].id
475- desc = node .args [1 ].s
468+ desc = node .args [1 ].value
476469 self .cqModel .add_parameter_description (varname , desc )
477470
478471 except :
@@ -491,19 +484,7 @@ def __init__(self, cq_model):
491484
492485 def handle_assignment (self , var_name , value_node ):
493486 try :
494- if type (value_node ) == ast .Num :
495- self .cqModel .add_script_parameter (
496- InputParameter .create (
497- value_node , var_name , NumberParameterType , value_node .n
498- )
499- )
500- elif type (value_node ) == ast .Str :
501- self .cqModel .add_script_parameter (
502- InputParameter .create (
503- value_node , var_name , StringParameterType , value_node .s
504- )
505- )
506- elif type (value_node ) == ast .Name :
487+ if type (value_node ) == ast .Name :
507488 if value_node .id == "True" :
508489 self .cqModel .add_script_parameter (
509490 InputParameter .create (
@@ -573,13 +554,7 @@ def visit_Assign(self, node):
573554 if isinstance (left_side , ast .Attribute ):
574555 return
575556
576- # Handle the NamedConstant type that is only present in Python 3
577- astTypes = [ast .Num , ast .Str , ast .Name ]
578- if hasattr (ast , "NameConstant" ):
579- astTypes .append (ast .NameConstant )
580-
581- if hasattr (ast , "Constant" ):
582- astTypes .append (ast .Constant )
557+ astTypes = [ast .Name , ast .Constant ]
583558
584559 if type (node .value ) in astTypes :
585560 self .handle_assignment (left_side .id , node .value )
0 commit comments