From ed359a61d8691a39f4716593e18e991284d1efe7 Mon Sep 17 00:00:00 2001
From: Jake Taylor <jake@elixxir.io>
Date: Tue, 21 Sep 2021 11:52:46 -0500
Subject: [PATCH] fixes for e2ereports script

---
 basice2e/e2eReport.py | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/basice2e/e2eReport.py b/basice2e/e2eReport.py
index 2ff019e..5ab40d3 100755
--- a/basice2e/e2eReport.py
+++ b/basice2e/e2eReport.py
@@ -48,17 +48,24 @@ def main():
                 else:
                     if "Successfully sent to EphID" in line:
                         # Capture message sending
-                        sent_message = re.findall('msgDigest: (.{20})\)', line)[0]
+                        sent_msg = re.findall('msgDigest: (.{20})\)', line)
+                        if len(sent_msg) == 0:
+                            continue
+                        sent_message = sent_msg[0]
                         log.debug("Located sent message: {}".format(sent_message))
-                        messages_sent[sent_message] = {"sender": os.path.basename(path)}
+
 
                         # Capture message timestamp
-                        sent_timestamp_str = re.findall('INFO (.{19}\.{0,1}\d{0,6})', line)[0]
+                        sent_ts = re.findall('INFO (.{19}\.{0,1}\d{0,6})', line)
+                        if len(sent_ts) == 0:
+                            continue
+                        sent_timestamp_str = sent_ts[0]
                         try:
                             sent_timestamp = datetime.datetime.strptime(sent_timestamp_str, '%Y/%m/%d %H:%M:%S.%f')
                         except ValueError:
                             sent_timestamp = datetime.datetime.strptime(sent_timestamp_str, '%Y/%m/%d %H:%M:%S')
                         log.debug("Located sent timestamp: {}".format(sent_timestamp))
+                        messages_sent[sent_message] = {"sender": os.path.basename(path)}
                         messages_sent[sent_message]["sent"] = sent_timestamp
 
                         # Capture rounds messages were sent in
@@ -72,16 +79,19 @@ def main():
                         # Capture message receiving
                         received_message = re.findall(' msgDigest: (.{20})', line)[0]
                         log.debug("Located received message: {}".format(received_message))
-                        messages_received[received_message] = {"receiver": os.path.basename(path)}
 
                         # Capture message timestamp
-                        received_timestamp_str = re.findall('INFO (.{19}\.{0,1}\d{0,6})', line)[0]
+                        receive_ts = re.findall('INFO (.{19}\.{0,1}\d{0,6})', line)
+                        if len(receive_ts) == 0:
+                            continue
+                        received_timestamp_str = receive_ts[0]
                         try:
                             received_timestamp = datetime.datetime.strptime(received_timestamp_str,
                                                                             '%Y/%m/%d %H:%M:%S.%f')
                         except ValueError:
                             received_timestamp = datetime.datetime.strptime(received_timestamp_str, '%Y/%m/%d %H:%M:%S')
                         log.debug("Located received timestamp: {}".format(received_timestamp))
+                        messages_received[received_message] = {"receiver": os.path.basename(path)}
                         messages_received[received_message]["received"] = received_timestamp
 
                     elif "Round(s)" in line:
-- 
GitLab