From 8addcd26aabb897c0e64f76184889cf386e6a806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Wed, 27 Mar 2024 09:29:45 +0100 Subject: [PATCH] fixes state manager enum handlign --- src/pydase/data_service/state_manager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pydase/data_service/state_manager.py b/src/pydase/data_service/state_manager.py index 1b3c25f..878ef1a 100644 --- a/src/pydase/data_service/state_manager.py +++ b/src/pydase/data_service/state_manager.py @@ -251,7 +251,9 @@ class StateManager: if attr_cache_type in ("ColouredEnum", "Enum"): enum_attr = get_object_attr_from_path_list(target_obj, [attr_name]) - setattr(target_obj, attr_name, enum_attr.__class__[value]) + # take the value of the existing enum class + # TODO: this might break when you set a value from a different enum + setattr(target_obj, attr_name, enum_attr.__class__[value.name]) elif attr_cache_type == "list": list_obj = get_object_attr_from_path_list(target_obj, [attr_name]) list_obj[index] = value