Fixed bug when evaluating numbers several times
This commit is contained in:
@@ -40,10 +40,12 @@ class PythonNode(Node):
|
||||
self.ast_ = ast_ # if ast_ else ast.parse(source, mode="eval") if source else None
|
||||
self.objects = objects or {} # when objects (mainly concepts or rules) are recognized in the expression
|
||||
self.compiled = None
|
||||
self.ast_str = self.get_dump(self.ast_)
|
||||
|
||||
def init_ast(self):
|
||||
if self.ast_ is None and self.source:
|
||||
self.ast_ = ast.parse(self.source, mode="eval")
|
||||
self.ast_str = self.get_dump(self.ast_)
|
||||
return self
|
||||
|
||||
def get_compiled(self):
|
||||
@@ -77,6 +79,8 @@ class PythonNode(Node):
|
||||
|
||||
@staticmethod
|
||||
def get_dump(ast_):
|
||||
if not ast_:
|
||||
return None
|
||||
dump = ast.dump(ast_)
|
||||
for to_remove in [", ctx=Load()", ", kind=None", ", type_ignores=[]"]:
|
||||
dump = dump.replace(to_remove, "")
|
||||
|
||||
Reference in New Issue
Block a user