From 53cfbd8e35138e63ed8b13062d594f01e4d04161 Mon Sep 17 00:00:00 2001
From: David Hammer <dhammer@mailbox.org>
Date: Mon, 14 Nov 2022 13:53:03 +0100
Subject: [PATCH] Handle warn_type None (constants use it)

---
 src/calng/utils.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/calng/utils.py b/src/calng/utils.py
index d4cd1321..88baaa6f 100644
--- a/src/calng/utils.py
+++ b/src/calng/utils.py
@@ -47,7 +47,10 @@ class ContextWarningLamp:
         if (warn_type not in self._active_warnings) or (
             not only_print_once and message != self._active_warnings[warn_type]
         ):
-            self._device.log_status_warn(f"{warn_type.name}: {message}")
+            if warn_type is None:
+                self._device.log_status_warn(message)
+            else:
+                self._device.log_status_warn(f"{warn_type.name}: {message}")
         self._new_warnings.add(warn_type)
         self._active_warnings[warn_type] = message
 
@@ -56,7 +59,9 @@ class ContextWarningLamp:
             self._new_tested - self._new_warnings
         ):
             del self._active_warnings[warn_type_lifted]
-            self._device.log_status_info(f"Lifted warning: {warn_type_lifted.name}")
+            # None is used for "simpler" lamps (like for constants)
+            if warn_type_lifted is not None:
+                self._device.log_status_info(f"Lifted warning: {warn_type_lifted.name}")
         current_state = self._device.unsafe_get(self._schema_key)
         if self._active_warnings and current_state != on_error:
             self._device.set(self._schema_key, on_error)
-- 
GitLab