From fde50e0ca61f4a321d64c63bfc9f1fe725a29f1d Mon Sep 17 00:00:00 2001 From: Derek Feichtinger Date: Tue, 30 Jun 2026 14:18:22 +0200 Subject: [PATCH] make arithmetic expression case insensitive internally, we use downcased names --- slurm-eff-tool.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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]):