From c493c516961cd09d15ccfe35e4736544bf616486 Mon Sep 17 00:00:00 2001
From: Yannick Ulrich <yannick.ulrich@psi.ch>
Date: Sun, 9 Feb 2020 11:22:12 +0100
Subject: [PATCH] 2: Added vegas record reader in re #17

---
 pymule/__init__.py |  2 ++
 pymule/vegas.py    | 19 +++++++++++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 pymule/vegas.py

diff --git a/pymule/__init__.py b/pymule/__init__.py
index dee8b2f..051ce74 100644
--- a/pymule/__init__.py
+++ b/pymule/__init__.py
@@ -1,2 +1,4 @@
 import numpy as np
 import matplotlib.pyplot as plt
+
+from vegas import importvegas
diff --git a/pymule/vegas.py b/pymule/vegas.py
new file mode 100644
index 0000000..e30f677
--- /dev/null
+++ b/pymule/vegas.py
@@ -0,0 +1,19 @@
+import struct
+
+
+def read_record(fp, typ):
+    l1 = struct.unpack("<I", fp.read(4))[0]
+    body = fp.read(l1)
+    l2 = struct.unpack("<I", fp.read(4))[0]
+    if l1 != l2:
+        raise KeyError("Record is not properly close %d v %d" % (l1, l2))
+
+    n = l1 / struct.calcsize(typ)
+    body = struct.unpack("<"+typ*n, body)
+    if typ == 'c':
+        return ''.join(body)
+    else:
+        if n == 1:
+            return body[0]
+        else:
+            return body
-- 
GitLab