Skip to content

Commit acd7138

Browse files
Fix serialization issues
1 parent 9949b1f commit acd7138

File tree

1 file changed

+6
-30
lines changed

1 file changed

+6
-30
lines changed

roborock/containers.py

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from enum import Enum
2-
from typing import Mapping, Iterator
32

43

54
class UserDataRRiotReferenceField(str, Enum):
@@ -218,37 +217,14 @@ class MultiMapListField(str, Enum):
218217
MAP_INFO = "map_info"
219218

220219

221-
class RoborockBase(Mapping):
220+
class RoborockBase(dict):
222221
def __init__(self, data: dict[str, any]) -> None:
223-
self._data = data if isinstance(data, dict) else {}
222+
super().__init__()
223+
if isinstance(data, dict):
224+
self.update(data)
224225

225-
def __getitem__(self, key):
226-
return self._data.__getitem__(key)
227-
228-
def __setitem__(self, key, value):
229-
return self._data.__setitem__(key, value)
230-
231-
def __len__(self) -> int:
232-
return self._data.__len__()
233-
234-
def __iter__(self) -> Iterator:
235-
return self._data.__iter__()
236-
237-
def keys(self):
238-
return self._data.keys()
239-
240-
def values(self):
241-
return self._data.values()
242-
243-
def __repr__(self):
244-
return self._data.__repr__()
245-
246-
def __str__(self):
247-
return self._data.__str__()
248-
249-
@property
250-
def __dict__(self):
251-
return self._data
226+
def as_dict(self):
227+
return self.__dict__
252228

253229

254230
class Reference(RoborockBase):

0 commit comments

Comments
 (0)