From 731b1aaf25e759b9e983a087f338acfa51a0dc40 Mon Sep 17 00:00:00 2001
From: David Trattnig <david.trattnig@o94.at>
Date: Thu, 7 May 2020 10:47:22 +0200
Subject: [PATCH] Engine status section.

---
 modules/core/monitor.py | 9 ++++++---
 modules/core/startup.py | 4 ++--
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/modules/core/monitor.py b/modules/core/monitor.py
index 0d9d6fe2..7b95a155 100644
--- a/modules/core/monitor.py
+++ b/modules/core/monitor.py
@@ -25,6 +25,7 @@ import os.path
 from os import path
 from enum import Enum
 
+import meta
 from modules.communication.redis.adapter import ClientRedisAdapter
 
 
@@ -51,6 +52,7 @@ class Monitoring:
         self.config = config
         self.soundsystem = soundsystem
         self.status = dict()
+        self.status["engine"] = dict()
         self.status["soundsystem"] = dict()
         self.status["api"] = dict()
         self.status["api"]["steering"] = dict()
@@ -62,6 +64,8 @@ class Monitoring:
         """
         Requests the current status of all components
         """
+        self.status["engine"]["version"] = meta.__version__
+        
         self.soundsystem.enable_transaction(self.soundsystem.client)
         self.status["soundsystem"]["version"]   = self.soundsystem.version()
         self.status["soundsystem"]["active"]    = self.soundsystem.is_active()
@@ -84,11 +88,10 @@ class Monitoring:
         self.status["redis_ready"]                  = self.validate_redis_connection()
         self.status["audio_store"]                  = self.validate_directory(self.config.get("audiofolder"))
 
-        # Set overall status
         if self.has_valid_status():
-            self.status["engine_status"] = MonitorResponseCode.OK.value
+            self.status["engine"]["status"] = MonitorResponseCode.OK.value
         else:
-            self.status["engine_status"] = MonitorResponseCode.INVALID_STATE.value
+            self.status["engine"]["status"] = MonitorResponseCode.INVALID_STATE.value
 
 
 
diff --git a/modules/core/startup.py b/modules/core/startup.py
index 32e7f60a..f4873dc3 100644
--- a/modules/core/startup.py
+++ b/modules/core/startup.py
@@ -62,8 +62,8 @@ class StartupThread(threading.Thread):
 
             status = self.monitoring.get_status()
             self.logger.info("Status Monitor:\n%s" % json.dumps(status, indent=4))
-            if not status["engine_status"] == "OK":
-                self.logger.info("Engine Status: " + SimpleUtil.red(status["engine_status"]))
+            if not status["engine"]["status"] == "OK":
+                self.logger.info("Engine Status: " + SimpleUtil.red(status["engine"]["status"]))
                 raise EngineMalfunctionException
             else:
                 self.logger.info("Engine Status: " + SimpleUtil.green("OK"))
-- 
GitLab