From 06bf5fb53961617eb276b5400ac7fd65965623c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Tue, 10 Oct 2023 12:18:13 +0200 Subject: [PATCH] fix: serializing enum properties --- src/pydase/data_service/data_service.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/pydase/data_service/data_service.py b/src/pydase/data_service/data_service.py index 57882c4..36d45e5 100644 --- a/src/pydase/data_service/data_service.py +++ b/src/pydase/data_service/data_service.py @@ -309,16 +309,6 @@ class DataService(rpyc.Service, AbstractDataService): "readonly": True, "value": running_task_info, } - elif isinstance(getattr(self.__class__, key, None), property): - prop: property = getattr(self.__class__, key) - result[key] = { - "type": type(value).__name__, - "value": value - if not isinstance(value, u.Quantity) - else {"magnitude": value.m, "unit": str(value.u)}, - "readonly": prop.fset is None, - "doc": get_attribute_doc(prop), - } elif isinstance(value, Enum): result[key] = { "type": "Enum", @@ -340,6 +330,11 @@ class DataService(rpyc.Service, AbstractDataService): "doc": get_attribute_doc(value), } + if isinstance(getattr(self.__class__, key, None), property): + prop: property = getattr(self.__class__, key) + result[key]["readonly"] = prop.fset is None + result[key]["doc"] = get_attribute_doc(prop) + return result def update_DataService_attribute(