From e91bc538ccb28e3b7dde8b68764fab529f03a895 Mon Sep 17 00:00:00 2001 From: Rajiv Bakulesh Shah Date: Tue, 1 Feb 2022 19:37:33 -0800 Subject: [PATCH] Refactor _Common class (#618) * Refactor _Common class * Simplify _Common.__init__() method signature Ensure that the `key` argument is always a string. * Properly format _Common.__init__() --- pottery/base.py | 12 ++++-------- pottery/deque.py | 2 +- pottery/dict.py | 2 +- pottery/hyper.py | 4 ++-- pottery/list.py | 2 +- pottery/set.py | 2 +- 6 files changed, 10 insertions(+), 14 deletions(-) diff --git a/pottery/base.py b/pottery/base.py index dda64a40..4cb48e80 100644 --- a/pottery/base.py +++ b/pottery/base.py @@ -97,13 +97,9 @@ class _Common: _RANDOM_KEY_PREFIX: ClassVar[str] = 'pottery:' - def __init__(self, - *, - redis: Redis | None = None, - key: str | None = None, - ) -> None: - self.redis = cast(Redis, redis) - self.key = cast(str, key) + def __init__(self, *, redis: Redis | None = None, key: str = '') -> None: + self.redis = redis or _default_redis + self.key = key or self.__random_key() def __del__(self) -> None: if self.key.startswith(self._RANDOM_KEY_PREFIX): @@ -123,7 +119,7 @@ def redis(self) -> Redis: @redis.setter def redis(self, value: Redis | None) -> None: - self.__redis = _default_redis if value is None else value + self.__redis = value or _default_redis @property def key(self) -> str: diff --git a/pottery/deque.py b/pottery/deque.py index 3ef147ba..5cf052f7 100644 --- a/pottery/deque.py +++ b/pottery/deque.py @@ -46,7 +46,7 @@ def __init__(self, maxlen: int | None = None, *, redis: Redis | None = None, - key: str | None = None, + key: str = '', ) -> None: 'Initialize the RedisDeque. O(n)' if maxlen is not None and not isinstance(maxlen, int): diff --git a/pottery/dict.py b/pottery/dict.py index 1160ee1b..0833523e 100644 --- a/pottery/dict.py +++ b/pottery/dict.py @@ -55,7 +55,7 @@ def __init__(self, arg: InitArg = tuple(), *, redis: Redis | None = None, - key: str | None = None, + key: str = '', **kwargs: JSONTypes, ) -> None: 'Initialize the RedisDict. O(n)' diff --git a/pottery/hyper.py b/pottery/hyper.py index ba1e2179..59a51d21 100644 --- a/pottery/hyper.py +++ b/pottery/hyper.py @@ -107,7 +107,7 @@ def __init__(self, iterable: Iterable[RedisValues] = frozenset(), *, redis: Redis | None = None, - key: str | None = None, + key: str = '', ) -> None: '''Initialize the HyperLogLog. O(n) @@ -149,7 +149,7 @@ def update(self, *objs: HyperLogLog | Iterable[RedisValues]) -> None: def union(self, *objs: Iterable[RedisValues], redis: Redis | None = None, - key: str | None = None, + key: str = '', ) -> HyperLogLog: new_hll = self.__class__(redis=redis, key=key) new_hll.update(self, *objs) diff --git a/pottery/list.py b/pottery/list.py index 6c59a4b8..b834094a 100644 --- a/pottery/list.py +++ b/pottery/list.py @@ -82,7 +82,7 @@ def __init__(self, iterable: Iterable[JSONTypes] = tuple(), *, redis: Redis | None = None, - key: str | None = None, + key: str = '', ) -> None: 'Initialize the RedisList. O(n)' super().__init__(redis=redis, key=key) diff --git a/pottery/set.py b/pottery/set.py index 34e3e338..bd712c44 100644 --- a/pottery/set.py +++ b/pottery/set.py @@ -49,7 +49,7 @@ def __init__(self, iterable: Iterable[JSONTypes] = tuple(), *, redis: Redis | None = None, - key: str | None = None, + key: str = '', ) -> None: 'Initialize the RedisSet. O(n)' super().__init__(redis=redis, key=key)