diff options
Diffstat (limited to 'gerbonara/aperture_macros/parse.py')
-rw-r--r-- | gerbonara/aperture_macros/parse.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gerbonara/aperture_macros/parse.py b/gerbonara/aperture_macros/parse.py index 33c205e..9f6375f 100644 --- a/gerbonara/aperture_macros/parse.py +++ b/gerbonara/aperture_macros/parse.py @@ -20,8 +20,8 @@ def rad_to_deg(x): return (x / math.pi) * 180 def _map_expression(node, variables={}, parameters=set()): - if isinstance(node, ast.Num): - return ConstantExpression(node.n) + if isinstance(node, ast.Constant): + return ConstantExpression(node.value) elif isinstance(node, ast.BinOp): op_map = {ast.Add: operator.add, ast.Sub: operator.sub, ast.Mult: operator.mul, ast.Div: operator.truediv} @@ -93,7 +93,7 @@ class ApertureMacro: name, _, expr = block.partition('=') number = int(name[1:]) if number in variables: - warnings.warn(f'Re-definition of aperture macro variable ${number} inside macro. Previous definition of ${number} was ${variables[number]}.') + warnings.warn(f'Re-definition of aperture macro variable ${number} inside aperture macro "{macro_name}". Previous definition of ${number} was ${variables[number]}.') variables[number] = _parse_expression(expr, variables, parameters) except Exception as e: raise SyntaxError(f'Error parsing variable definition {block!r}') from e |