From 503678df16d0192421dad0f6ddd1df770873ad22 Mon Sep 17 00:00:00 2001
From: wu_xinjun <bent20140204@outlook.com>
Date: 星期四, 16 六月 2022 10:34:53 +0800
Subject: [PATCH] dust cleaner installed!

---
 src/engine/MessageThreads.py |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/src/engine/MessageThreads.py b/src/engine/MessageThreads.py
index 98e7cc0..d66975a 100644
--- a/src/engine/MessageThreads.py
+++ b/src/engine/MessageThreads.py
@@ -8,6 +8,7 @@
 from datetime import datetime
 from typing import List
 import numpy as np
+import cv2
 
 # # add python path of src to sys.path
 # src_path = os.path.join(__file__, *(['..'] * 2))
@@ -327,6 +328,55 @@
     def decode_CommandsMsg(self,queue):
 
         raise NotImplementedError("NOT IMPLEMENT!")
+
+
+
+def send_logs_tool(logs:List[str],
+                logs_queue:queue.Queue,
+                source:str,
+                routing_key:str):
+
+    for i, log in enumerate(logs):
+        if log is not None:
+            # constract a logs message
+            logsMsg = pb.LogsMessage()
+            logsMsg.source = source
+            logsMsg.timestamp = f"{time.asctime()}"
+            logsMsg.context = log
+            # convert the proto object to string
+            logsMsg_bytes = logsMsg.SerializeToString()
+            # add logsmsg to queue
+            logs_queue.put([routing_key,logsMsg_bytes])
+
+
+def send_images_tool(images:List[np.array],
+                    images_queue:queue.Queue,
+                    source:str,
+                    routing_key:str):
+
+        # constract a images message
+        imagesMsg = pb.ImagesMessage()
+        imagesMsg.source = source
+        curr_time = datetime.now().strftime('%Y-%m-%d-%H-%M-%S')
+        imagesMsg.timestamp = curr_time
+
+        for img in images:
+            if img is not None:
+                success,image_encoded = cv2.imencode(".jpg",img)
+                if success:
+                    image_bytes = image_encoded.tobytes()
+                    image_length = len(image_bytes)
+                    # add the encoded image to msg
+                    image_item = imagesMsg.Image.add()
+                    image_item.length = image_length
+                    image_item.data = image_bytes
+
+        # converting the pb image msg to bytes
+        imageMsg_bytes = imagesMsg.SerializeToString()
+        # add the imageMsg to the queue
+        images_queue.put([routing_key,imageMsg_bytes])
+
+
     
 
 

--
Gitblit v1.9.1