diff --git a/korman/plasma_attributes.py b/korman/plasma_attributes.py index 9cf651c..a3cd415 100644 --- a/korman/plasma_attributes.py +++ b/korman/plasma_attributes.py @@ -65,6 +65,10 @@ class PlasmaAttributeVisitor(ast.NodeVisitor): return self.generic_visit(node) def visit_Name(self, node): + # Workaround for old Cyan scripts: replace variables named "true" or "false" + # with the respective constant values True or False. + if node.id.lower() in {"true", "false"}: + return ast.literal_eval(node.id.capitalize()) return(node.id) def visit_Num(self, node): @@ -85,6 +89,9 @@ class PlasmaAttributeVisitor(ast.NodeVisitor): elts.append(self.visit(x)) return tuple(elts) + def visit_NameConstant(self, node): + return(node.value) + def generic_visit(self, node): ast.NodeVisitor.generic_visit(self, node)