mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-06-05 21:20:40 +02:00
fixes serializer types and test
pydase dicts can only have stringed keys. This is now reflected in the serializer, as well.
This commit is contained in:
parent
88a630518b
commit
b209ad75bb
@ -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,
|
||||
|
@ -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",
|
||||
|
Loading…
x
Reference in New Issue
Block a user