diff --git a/aiogram/dispatcher/storage/dict.py b/aiogram/dispatcher/storage/dict.py index 33f246a7..f6ceaf86 100644 --- a/aiogram/dispatcher/storage/dict.py +++ b/aiogram/dispatcher/storage/dict.py @@ -18,41 +18,36 @@ class DictStorage(BaseStorage[Dict[str, Any]]): """ def __init__(self) -> None: - self.data: Dict[str, _UserStorageMetaData] = {} + self._data: Dict[str, _UserStorageMetaData] = {} - def resolve_address(self, key: str) -> None: - if key not in self.data: - self.data[key] = {"state": None, "data": {}} + def _make_spot_for_key(self, key: str) -> None: + if key not in self._data: + self._data[key] = {"state": None, "data": {}} async def get_state(self, key: str) -> Optional[str]: - self.resolve_address(key) - return self.data[key]["state"] + self._make_spot_for_key(key) + return self._data[key]["state"] async def get_data(self, key: str) -> Dict[str, Any]: - self.resolve_address(key=key) - return copy.deepcopy(self.data[key]["data"]) + self._make_spot_for_key(key=key) + return copy.deepcopy(self._data[key]["data"]) async def update_data(self, key: str, data: Optional[Dict[str, Any]] = None) -> None: if data is None: data = {} - self.resolve_address(key=key) - self.data[key]["data"].update(data) + self._make_spot_for_key(key=key) + self._data[key]["data"].update(data) async def set_state(self, key: str, state: Optional[str] = None) -> None: - self.resolve_address(key=key) - self.data[key]["state"] = state + self._make_spot_for_key(key=key) + self._data[key]["state"] = state async def set_data(self, key: str, data: Optional[Dict[str, Any]] = None) -> None: - self.resolve_address(key=key) - self.data[key]["data"] = copy.deepcopy(data) # type: ignore - - async def reset_state(self, key: str, with_data: bool = True) -> None: - await self.set_state(key=key, state=None) - if with_data: - await self.set_data(key=key, data={}) + self._make_spot_for_key(key=key) + self._data[key]["data"] = copy.deepcopy(data) # type: ignore async def wait_closed(self) -> None: pass async def close(self) -> None: - self.data.clear() + self._data.clear()