MCPcopy
hub / github.com/CadQuery/cadquery / handle_assignment

Method handle_assignment

cadquery/cqgi.py:485–546  ·  view source on GitHub ↗
(self, var_name, value_node)

Source from the content-addressed store, hash-verified

483 self.cqModel = cq_model
484
485 def handle_assignment(self, var_name, value_node):
486 try:
487 if type(value_node) == ast.Name:
488 if value_node.id == "True":
489 self.cqModel.add_script_parameter(
490 InputParameter.create(
491 value_node, var_name, BooleanParameterType, True
492 )
493 )
494 elif value_node.id == "False":
495 self.cqModel.add_script_parameter(
496 InputParameter.create(
497 value_node, var_name, BooleanParameterType, False
498 )
499 )
500 elif type(value_node) == ast.Tuple:
501 # Handle multi-length tuples
502 tup = ()
503 for entry in value_node.elts:
504 tup = tup + (entry.value,)
505
506 self.cqModel.add_script_parameter(
507 InputParameter.create(
508 value_node, var_name, TupleParameterType, tup,
509 )
510 )
511 elif hasattr(ast, "NameConstant") and type(value_node) == ast.NameConstant:
512 if value_node.value == True:
513 self.cqModel.add_script_parameter(
514 InputParameter.create(
515 value_node, var_name, BooleanParameterType, True
516 )
517 )
518 else:
519 self.cqModel.add_script_parameter(
520 InputParameter.create(
521 value_node, var_name, BooleanParameterType, False
522 )
523 )
524
525 elif hasattr(ast, "Constant") and type(value_node) == ast.Constant:
526
527 type_dict = {
528 bool: BooleanParameterType,
529 str: StringParameterType,
530 float: NumberParameterType,
531 int: NumberParameterType,
532 tuple: TupleParameterType,
533 }
534
535 self.cqModel.add_script_parameter(
536 InputParameter.create(
537 value_node,
538 var_name,
539 type_dict[type(value_node.value)],
540 value_node.value,
541 )
542 )

Callers 1

visit_AssignMethod · 0.95

Calls 2

add_script_parameterMethod · 0.80
createMethod · 0.80

Tested by

no test coverage detected