diff --git a/slurm-eff-tool.py b/slurm-eff-tool.py index f09948f..b8d2997 100755 --- a/slurm-eff-tool.py +++ b/slurm-eff-tool.py @@ -211,10 +211,12 @@ _ALLOWED_CMPOPS = { #################################### class SafeExpression: def __init__(self, expression: str): - self.expression = expression - self.tree = ast.parse(expression, mode="eval") + self.expression = expression.lower() + self.tree = ast.parse(self.expression, mode="eval") def evaluate(self, variables: Mapping[str, int | float]) -> int | float | bool: + # normalize to downcased variable names + variables = {k.lower(): v for k,v in variables.items()} return self._eval(self.tree.body, variables) def _eval(self, node: ast.AST, variables: Mapping[str, int | float]):