mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
refactor(storage): refactor method and attribute names
This commit is contained in:
parent
685cc0c3d9
commit
677bbf6784
1 changed files with 15 additions and 20 deletions
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue