Skip to content

Commit e4fa8c6

Browse files
authored
fix: ensure keys are correct type when serializing from data (#630)
* fix: ensure keys are valid type when serializing from data * fix: add fallback
1 parent 96ddef9 commit e4fa8c6

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

roborock/data/containers.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ def _convert_to_class_obj(class_type: type, value):
6767
sub_type = get_args(class_type)[0]
6868
return [RoborockBase._convert_to_class_obj(sub_type, obj) for obj in value]
6969
if get_origin(class_type) is dict:
70-
_, value_type = get_args(class_type) # assume keys are only basic types
70+
key_type, value_type = get_args(class_type)
71+
if key_type is not None:
72+
return {key_type(k): RoborockBase._convert_to_class_obj(value_type, v) for k, v in value.items()}
7173
return {k: RoborockBase._convert_to_class_obj(value_type, v) for k, v in value.items()}
7274
if inspect.isclass(class_type):
7375
if issubclass(class_type, RoborockBase):

0 commit comments

Comments
 (0)