From 5c4b516e336770c483dc2eb3dae32936468da993 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 0ce6731..b3d7e87 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]):