From bb354941fe4f573db2a3d18aaaa773e88634b87b Mon Sep 17 00:00:00 2001 From: Joel Collins Date: Tue, 5 May 2020 10:21:37 +0100 Subject: [PATCH] Handle top-level event types --- src/labthings/server/event.py | 7 +++++-- src/labthings/server/labthing.py | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/labthings/server/event.py b/src/labthings/server/event.py index 479ccacd..ef695991 100644 --- a/src/labthings/server/event.py +++ b/src/labthings/server/event.py @@ -2,6 +2,9 @@ class Event: + # Some event types are formatted slightly differently + magic_types = {"propertyStatus", "actionStatus"} + def __init__(self, name, schema=None): self.name = name self.schema = schema @@ -10,9 +13,9 @@ def __init__(self, name, schema=None): def emit(self, data): response = { - "messageType": self.name, + "messageType": self.name if self.name in Event.magic_types else "event", "timestamp": datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.%fZ"), - "data": data, + "data": data if self.name in Event.magic_types else {self.name: data}, } # TODO: Format data with schema self.events.append(response) return response diff --git a/src/labthings/server/labthing.py b/src/labthings/server/labthing.py index ff992f64..6e26bdfd 100644 --- a/src/labthings/server/labthing.py +++ b/src/labthings/server/labthing.py @@ -168,6 +168,7 @@ def init_app(self, app): # Create base events self.add_event("propertyStatus") + self.add_event("actionStatus") self.add_event("logging") def _create_base_routes(self):