fix converting model initialization

This commit is contained in:
Oleksandr Bezdieniezhnykh
2025-09-04 10:39:41 +03:00
parent b3665630ed
commit be77a81875
8 changed files with 97 additions and 41 deletions
+29 -11
View File
@@ -1,5 +1,6 @@
cimport constants_inf
import msgpack
from threading import Lock
AIStatus2Text = {
AIAvailabilityEnum.NONE: "None",
@@ -15,23 +16,40 @@ cdef class AIAvailabilityStatus:
def __init__(self):
self.status = AIAvailabilityEnum.NONE
self.error_message = None
self._lock = Lock()
def __str__(self):
status_text = AIStatus2Text.get(self.status, "Unknown")
error_text = self.error_message if self.error_message else ""
return f"{status_text} {error_text}"
self._lock.acquire()
try:
status_text = AIStatus2Text.get(self.status, "Unknown")
error_text = self.error_message if self.error_message else ""
return f"{status_text} {error_text}"
finally:
self._lock.release()
cdef bytes serialize(self):
return msgpack.packb({
"s": self.status,
"m": self.error_message
})
self._lock.acquire()
try:
return msgpack.packb({
"s": self.status,
"m": self.error_message
})
finally:
self._lock.release()
cdef set_status(self, AIAvailabilityEnum status, str error_message=None):
self.status = status
self.error_message = error_message
log_message = ""
self._lock.acquire()
try:
self.status = status
self.error_message = error_message
status_text = AIStatus2Text.get(self.status, "Unknown")
error_text = self.error_message if self.error_message else ""
log_message = f"{status_text} {error_text}"
finally:
self._lock.release()
if error_message is not None:
constants_inf.logerror(<str>error_message)
else:
constants_inf.log(<str>str(self))
constants_inf.log(<str>log_message)