From 4f048aefe8a3321fded920ddbe555357e2f12669 Mon Sep 17 00:00:00 2001
From: Marko Mecina <marko.mecina@univie.ac.at>
Date: Mon, 13 Nov 2023 17:57:10 +0100
Subject: [PATCH] add getters for recv/proc data to Connector

---
 Ccs/communication.py | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/Ccs/communication.py b/Ccs/communication.py
index 0af0438..11dd564 100644
--- a/Ccs/communication.py
+++ b/Ccs/communication.py
@@ -4,6 +4,7 @@
 General purpose socket communication utilities
 
 """
+import io
 import queue
 import select
 import socket
@@ -191,6 +192,20 @@ class Connector:
         self.receiver.stop()
         self.receiver = None
 
+    @property
+    def recvd_data(self):
+        if self.receiver is None:
+            return
+
+        return self.receiver.recvd_data_buf.queue
+
+    @property
+    def proc_data(self):
+        if self.receiver is None:
+            return
+
+        return self.receiver.proc_data
+
 
 class Receiver:
     """
@@ -287,6 +302,9 @@ class Receiver:
                             self.proc_data_fd.write(procdata)
                         else:
                             self.proc_data_fd.write(str(procdata))
+                    except io.UnsupportedOperation as err:
+                        print(err)
+                        break
                     except Exception as err:
                         self.proc_data_fd.write('# {} #\n'.format(err))
                         continue
@@ -300,7 +318,8 @@ class Receiver:
                 self._isrunning = False
 
         print('Processing stopped')
-        self.proc_data_fd.close()
+        if self.proc_data_fd is not None:
+            self.proc_data_fd.close()
 
 
 def _msgdecoder(msg, fmt, sep=''):
-- 
GitLab