Skip to content

Commit 6cd5eeb

Browse files
Update cqgi for py3.14 (#1986)
* Update cqgi for py3.14 * Remove last deprecation --------- Co-authored-by: adam-urbanczyk <13981538+adam-urbanczyk@users.noreply.github.com>
1 parent 2517f4e commit 6cd5eeb

1 file changed

Lines changed: 7 additions & 32 deletions

File tree

cadquery/cqgi.py

Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)