From b209ad75bb23beea73f96e8fb5c7c1129e59d07a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mose=20M=C3=BCller?= Date: Tue, 30 Apr 2024 15:46:39 +0200 Subject: [PATCH] fixes serializer types and test pydase dicts can only have stringed keys. This is now reflected in the serializer, as well. --- src/pydase/utils/serialization/serializer.py | 7 ++----- tests/utils/serialization/test_serializer.py | 6 +++--- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/pydase/utils/serialization/serializer.py b/src/pydase/utils/serialization/serializer.py index 7867d35..036a834 100644 --- a/src/pydase/utils/serialization/serializer.py +++ b/src/pydase/utils/serialization/serializer.py @@ -164,16 +164,13 @@ class Serializer: } @staticmethod - def _serialize_dict( - obj: dict[str | float, Any], access_path: str = "" - ) -> SerializedDict: + def _serialize_dict(obj: dict[str, Any], access_path: str = "") -> SerializedDict: readonly = False doc = get_attribute_doc(obj) value = {} for key, val in obj.items(): - processed_key = key if not isinstance(key, str) else f'"{key}"' value[key] = Serializer.serialize_object( - val, access_path=f"{access_path}[{processed_key}]" + val, access_path=f'{access_path}["{key}"]' ) return { "full_access_path": access_path, diff --git a/tests/utils/serialization/test_serializer.py b/tests/utils/serialization/test_serializer.py index fa35c77..1be21c1 100644 --- a/tests/utils/serialization/test_serializer.py +++ b/tests/utils/serialization/test_serializer.py @@ -400,7 +400,7 @@ def test_dict_serialization() -> None: test_dict = { "int_key": 1, - 1.0: 1.0, + "1.0": 1.0, "bool_key": True, "Quantity_key": 1.0 * u.units.s, "DataService_key": MyClass(), @@ -442,8 +442,8 @@ def test_dict_serialization() -> None: "type": "bool", "value": True, }, - 1.0: { - "full_access_path": "[1.0]", + "1.0": { + "full_access_path": '["1.0"]', "doc": None, "readonly": False, "type": "float",