Save microscope id as a string

UUIDs don't serialise to JSON, so I'm now saving it as a plain
string and reconstructing a UUID object when it's returned.

Returning a UUID seems clearer than returning a string.
This commit is contained in:
Richard Bowman 2024-01-11 19:53:08 +00:00
parent a279831c41
commit e611840aca

View file

@ -90,8 +90,8 @@ class SettingsManager(Thing):
def microscope_id(self) -> UUID: def microscope_id(self) -> UUID:
"""A unique identifier for this microscope""" """A unique identifier for this microscope"""
if "microscope_id" not in self.thing_settings: if "microscope_id" not in self.thing_settings:
self.thing_settings["microscope_id"] = uuid4() self.thing_settings["microscope_id"] = str(uuid4())
return self.thing_settings["microscope_id"] return UUID(self.thing_settings["microscope_id"])
@thing_action @thing_action
def get_things_state(self, metadata_getter: GetThingStates) -> Mapping: def get_things_state(self, metadata_getter: GetThingStates) -> Mapping: