From 45405f979c01653b90fe22fd120d9435cc533bda Mon Sep 17 00:00:00 2001 From: Oleg A Date: Thu, 25 Mar 2021 15:16:03 +0300 Subject: [PATCH] refactor: FSM resolve_state become public, removed redundant elif --- aiogram/dispatcher/storage.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/aiogram/dispatcher/storage.py b/aiogram/dispatcher/storage.py index cd7ce7bd..5a7d101e 100644 --- a/aiogram/dispatcher/storage.py +++ b/aiogram/dispatcher/storage.py @@ -283,19 +283,22 @@ class FSMContext: return FSMContextProxy(self) @staticmethod - def _resolve_state(value): + def resolve_state(value): from .filters.state import State if value is None: return - elif isinstance(value, str): + + if isinstance(value, str): return value - elif isinstance(value, State): + + if isinstance(value, State): return value.state + return str(value) async def get_state(self, default: typing.Optional[str] = None) -> typing.Optional[str]: - return await self.storage.get_state(chat=self.chat, user=self.user, default=self._resolve_state(default)) + return await self.storage.get_state(chat=self.chat, user=self.user, default=self.resolve_state(default)) async def get_data(self, default: typing.Optional[str] = None) -> typing.Dict: return await self.storage.get_data(chat=self.chat, user=self.user, default=default) @@ -304,7 +307,7 @@ class FSMContext: await self.storage.update_data(chat=self.chat, user=self.user, data=data, **kwargs) async def set_state(self, state: typing.Optional[typing.AnyStr] = None): - await self.storage.set_state(chat=self.chat, user=self.user, state=self._resolve_state(state)) + await self.storage.set_state(chat=self.chat, user=self.user, state=self.resolve_state(state)) async def set_data(self, data: typing.Dict = None): await self.storage.set_data(chat=self.chat, user=self.user, data=data)