From e38f446284028297c4f7b6918b3130d2d2954c16 Mon Sep 17 00:00:00 2001
From: Anders Blomdell <anders.blomdell@control.lth.se>
Date: Thu, 16 Nov 2023 15:02:10 +0100
Subject: [PATCH] Add simple variable renumbering tool

---
 robotlab_safety/pluto_renumber.py | 32 +++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100755 robotlab_safety/pluto_renumber.py

diff --git a/robotlab_safety/pluto_renumber.py b/robotlab_safety/pluto_renumber.py
new file mode 100755
index 0000000..690770d
--- /dev/null
+++ b/robotlab_safety/pluto_renumber.py
@@ -0,0 +1,32 @@
+#!/usr/bin/python3
+
+import sys
+import re
+import tempfile
+import os
+
+if __name__ == '__main__':
+    path = sys.argv[1]
+    variables = sys.argv[2:]
+    orig = [ l.replace('\n','') for l in open(path, encoding='utf-16') ]
+    data = list(orig)
+    for v in variables:
+        pattern = re.compile('(! %s[.])([0-9]+)(.*)' % re.escape(v))
+        index = 0
+        for i in range(0, len(data)):
+            m = re.match(pattern, data[i])
+            if m:
+                data[i] = '%s%s%s' % (m.group(1), index, m.group(3))
+                index += 1
+                pass
+            pass
+        pass
+    if orig != data:
+        print('Rewriting %s' % path)
+        f1 = tempfile.NamedTemporaryFile(dir=os.path.dirname(path),
+                                         delete=False)
+        f1.write(''.join([ l+'\r\n' for l in data ]).encode('utf-16'))
+        f1.close()
+        os.rename(f1.name, path)
+        pass
+    pass
-- 
GitLab