From 1511ec030fbaa8e086367b17d18457a5e0053805 Mon Sep 17 00:00:00 2001
From: Anders Blomdell <anders.blomdell@control.lth.se>
Date: Tue, 28 Apr 2020 11:24:37 +0200
Subject: [PATCH] Added OR macro

---
 robotlab_safety/pluto_auto.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/robotlab_safety/pluto_auto.py b/robotlab_safety/pluto_auto.py
index 03bc043..aad70ac 100755
--- a/robotlab_safety/pluto_auto.py
+++ b/robotlab_safety/pluto_auto.py
@@ -24,6 +24,13 @@ class PlutoVariables:
             rh = [ m.group(3).format(v, pluto=self.by_name[v][0])
                    for v in self.by_name if re.match(regexp, v)]
             return("%s=%s" % (lh, '*'.join(rh)))
+        m = re.match('([^=]+)=OR\{(.*),(.*)\}', expr)
+        if m:
+            lh = m.group(1)
+            regexp = m.group(2).replace('*', '.*')
+            rh = [ m.group(3).format(v, pluto=self.by_name[v][0])
+                   for v in self.by_name if re.match(regexp, v)]
+            return("%s=%s" % (lh, '+'.join(rh)))
         raise Exception('Invalid expression', expr)
 
     
-- 
GitLab