diff --git a/cadquery/cqgi.py b/cadquery/cqgi.py index 87f2ce917..2b7c301a5 100644 --- a/cadquery/cqgi.py +++ b/cadquery/cqgi.py @@ -287,7 +287,7 @@ def set_value(self, new_value): else: f = float(new_value) - self.ast_node.n = f + self.ast_node.value = f except ValueError: raise InvalidParameterError( "Cannot set value '{0:s}' for parameter '{1:s}': parameter must be numeric.".format( @@ -296,20 +296,13 @@ def set_value(self, new_value): ) elif self.varType == StringParameterType: - self.ast_node.s = str(new_value) + self.ast_node.value = str(new_value) elif self.varType == BooleanParameterType: if new_value: - if hasattr(ast, "NameConstant"): - self.ast_node.value = True - else: - self.ast_node.id = "True" + self.ast_node.value = True else: - if hasattr(ast, "NameConstant"): - self.ast_node.value = False - else: - self.ast_node.id = "False" + self.ast_node.value = False elif self.varType == TupleParameterType: - self.ast_node.n = new_value # Build the list of constants to set as the tuple value constants = [] @@ -472,7 +465,7 @@ def visit_Call(self, node): # first parameter is the variable, # second is the description varname = node.args[0].id - desc = node.args[1].s + desc = node.args[1].value self.cqModel.add_parameter_description(varname, desc) except: @@ -491,19 +484,7 @@ def __init__(self, cq_model): def handle_assignment(self, var_name, value_node): try: - if type(value_node) == ast.Num: - self.cqModel.add_script_parameter( - InputParameter.create( - value_node, var_name, NumberParameterType, value_node.n - ) - ) - elif type(value_node) == ast.Str: - self.cqModel.add_script_parameter( - InputParameter.create( - value_node, var_name, StringParameterType, value_node.s - ) - ) - elif type(value_node) == ast.Name: + if type(value_node) == ast.Name: if value_node.id == "True": self.cqModel.add_script_parameter( InputParameter.create( @@ -573,13 +554,7 @@ def visit_Assign(self, node): if isinstance(left_side, ast.Attribute): return - # Handle the NamedConstant type that is only present in Python 3 - astTypes = [ast.Num, ast.Str, ast.Name] - if hasattr(ast, "NameConstant"): - astTypes.append(ast.NameConstant) - - if hasattr(ast, "Constant"): - astTypes.append(ast.Constant) + astTypes = [ast.Name, ast.Constant] if type(node.value) in astTypes: self.handle_assignment(left_side.id, node.value)