From 9a042716d13c0ad10e08495c5277cd69750bea54 Mon Sep 17 00:00:00 2001 From: heyyyoyy Date: Sun, 2 Sep 2018 17:46:05 +0300 Subject: [PATCH] fixed update_data and update_bucket methods if dict is None --- aiogram/contrib/fsm_storage/redis.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/aiogram/contrib/fsm_storage/redis.py b/aiogram/contrib/fsm_storage/redis.py index eaaf3985..d4c2bba2 100644 --- a/aiogram/contrib/fsm_storage/redis.py +++ b/aiogram/contrib/fsm_storage/redis.py @@ -141,6 +141,8 @@ class RedisStorage(BaseStorage): async def update_data(self, *, chat: typing.Union[str, int, None] = None, user: typing.Union[str, int, None] = None, data: typing.Dict = None, **kwargs): + if data is None: + data = {} record = await self.get_record(chat=chat, user=user) record_data = record.get('data', {}) record_data.update(data, **kwargs) @@ -195,6 +197,8 @@ class RedisStorage(BaseStorage): bucket: typing.Dict = None, **kwargs): record = await self.get_record(chat=chat, user=user) record_bucket = record.get('bucket', {}) + if bucket is None: + bucket = {} record_bucket.update(bucket, **kwargs) await self.set_record(chat=chat, user=user, state=record['state'], data=record_bucket, bucket=bucket)