From 2f3bd7395bc8ea2ae2880c6bc3d1b3470674754d Mon Sep 17 00:00:00 2001
From: Alex Wiens <alex.wiens@uni-paderborn.de>
Date: Thu, 20 Feb 2025 13:57:06 +0100
Subject: [PATCH] Prule: Fix some bugs

---
 prule/__init__.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/prule/__init__.py b/prule/__init__.py
index 2b1cc21..c28811b 100644
--- a/prule/__init__.py
+++ b/prule/__init__.py
@@ -377,6 +377,8 @@ def parse_slurminfo(info):
                 slurm["StdOut"] = l[10:].strip("\n")
             elif l.startswith("   StdIn="):
                 slurm["StdIn"] = l[9:].strip("\n")
+            elif l.startswith("   Reservation="):
+                slurm["StdIn"] = l[15:].strip("\n")
             else:
                 for t in l.strip().split(" "):
                     k,v = t.split("=")
@@ -390,15 +392,15 @@ def parse_slurminfo(info):
 def parse_slurm_size(size):
     num = 0
     if size.endswith("K"):
-        num = int(size[:-1]) * 1024
+        num = float(size[:-1]) * 1024
     elif size.endswith("M"):
-        num = int(size[:-1]) * 1024 * 1024
+        num = float(size[:-1]) * 1024 * 1024
     elif size.endswith("G"):
-        num = int(size[:-1]) * 1024 * 1024 * 1024
+        num = float(size[:-1]) * 1024 * 1024 * 1024
     elif size.endswith("T"):
-        num = int(size[:-1]) * 1024 * 1024 * 1024 * 1024
+        num = float(size[:-1]) * 1024 * 1024 * 1024 * 1024
     else: # default is MiB
-        num = int(size) * 1024 * 1024
+        num = float(size) * 1024 * 1024
     return num
 
 # Prepare variables available for rule evaluation.
-- 
GitLab