From 74886a22cb4b06420f7f6cb098132cc95b2036ae Mon Sep 17 00:00:00 2001 From: dvora-h Date: Mon, 31 Jan 2022 03:16:20 +0200 Subject: [PATCH 1/3] Add type hint for hash commands --- redis/commands/core.py | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/redis/commands/core.py b/redis/commands/core.py index 73003e7fb6..738fac05e4 100644 --- a/redis/commands/core.py +++ b/redis/commands/core.py @@ -2,6 +2,7 @@ import hashlib import time import warnings +from typing import Optional from redis.exceptions import ConnectionError, DataError, NoScriptError, RedisError @@ -3676,7 +3677,7 @@ class HashCommands: see: https://redis.io/topics/data-types-intro#redis-hashes """ - def hdel(self, name, *keys): + def hdel(self, name: str, *keys: list) -> int: """ Delete ``keys`` from hash ``name`` @@ -3684,7 +3685,7 @@ def hdel(self, name, *keys): """ return self.execute_command("HDEL", name, *keys) - def hexists(self, name, key): + def hexists(self, name: str, key: str) -> bool: """ Returns a boolean indicating if ``key`` exists within hash ``name`` @@ -3692,7 +3693,7 @@ def hexists(self, name, key): """ return self.execute_command("HEXISTS", name, key) - def hget(self, name, key): + def hget(self, name: str, key: str) -> Optional[str]: """ Return the value of ``key`` within the hash ``name`` @@ -3700,7 +3701,7 @@ def hget(self, name, key): """ return self.execute_command("HGET", name, key) - def hgetall(self, name): + def hgetall(self, name: str) -> dict: """ Return a Python dict of the hash's name/value pairs @@ -3708,7 +3709,7 @@ def hgetall(self, name): """ return self.execute_command("HGETALL", name) - def hincrby(self, name, key, amount=1): + def hincrby(self, name: str, key: str, amount: int = 1) -> int: """ Increment the value of ``key`` in hash ``name`` by ``amount`` @@ -3716,7 +3717,7 @@ def hincrby(self, name, key, amount=1): """ return self.execute_command("HINCRBY", name, key, amount) - def hincrbyfloat(self, name, key, amount=1.0): + def hincrbyfloat(self, name: str, key: str, amount: float = 1.0) -> float: """ Increment the value of ``key`` in hash ``name`` by floating ``amount`` @@ -3724,7 +3725,7 @@ def hincrbyfloat(self, name, key, amount=1.0): """ return self.execute_command("HINCRBYFLOAT", name, key, amount) - def hkeys(self, name): + def hkeys(self, name: str) -> list: """ Return the list of keys within hash ``name`` @@ -3732,7 +3733,7 @@ def hkeys(self, name): """ return self.execute_command("HKEYS", name) - def hlen(self, name): + def hlen(self, name: str) -> int: """ Return the number of elements in hash ``name`` @@ -3740,7 +3741,13 @@ def hlen(self, name): """ return self.execute_command("HLEN", name) - def hset(self, name, key=None, value=None, mapping=None): + def hset( + self, + name: str, + key: Optional[str] = None, + value: Optional[str] = None, + mapping: Optional[dict] = None, + ) -> int: """ Set ``key`` to ``value`` within hash ``name``, ``mapping`` accepts a dict of key/value pairs that will be @@ -3760,7 +3767,7 @@ def hset(self, name, key=None, value=None, mapping=None): return self.execute_command("HSET", name, *items) - def hsetnx(self, name, key, value): + def hsetnx(self, name: str, key: str, value: str) -> bool: """ Set ``key`` to ``value`` within hash ``name`` if ``key`` does not exist. Returns 1 if HSETNX created a field, otherwise 0. @@ -3769,7 +3776,7 @@ def hsetnx(self, name, key, value): """ return self.execute_command("HSETNX", name, key, value) - def hmset(self, name, mapping): + def hmset(self, name: str, mapping: dict) -> str: """ Set key to value within hash ``name`` for each corresponding key and value from the ``mapping`` dict. @@ -3789,7 +3796,7 @@ def hmset(self, name, mapping): items.extend(pair) return self.execute_command("HMSET", name, *items) - def hmget(self, name, keys, *args): + def hmget(self, name: str, keys: list, *args: list) -> list: """ Returns a list of values ordered identically to ``keys`` @@ -3798,7 +3805,7 @@ def hmget(self, name, keys, *args): args = list_or_args(keys, args) return self.execute_command("HMGET", name, *args) - def hvals(self, name): + def hvals(self, name: str) -> list: """ Return the list of values within hash ``name`` @@ -3806,7 +3813,7 @@ def hvals(self, name): """ return self.execute_command("HVALS", name) - def hstrlen(self, name, key): + def hstrlen(self, name: str, key: str) -> int: """ Return the number of bytes stored in the value of ``key`` within hash ``name`` From adc44eed68041e3231d1db4402670fc91524dd89 Mon Sep 17 00:00:00 2001 From: dvora-h Date: Mon, 31 Jan 2022 12:47:54 +0200 Subject: [PATCH 2/3] switch to List --- redis/commands/core.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/redis/commands/core.py b/redis/commands/core.py index 738fac05e4..e940debeaa 100644 --- a/redis/commands/core.py +++ b/redis/commands/core.py @@ -2,7 +2,7 @@ import hashlib import time import warnings -from typing import Optional +from typing import List, Optional from redis.exceptions import ConnectionError, DataError, NoScriptError, RedisError @@ -3677,7 +3677,7 @@ class HashCommands: see: https://redis.io/topics/data-types-intro#redis-hashes """ - def hdel(self, name: str, *keys: list) -> int: + def hdel(self, name: str, *keys: List) -> int: """ Delete ``keys`` from hash ``name`` @@ -3725,7 +3725,7 @@ def hincrbyfloat(self, name: str, key: str, amount: float = 1.0) -> float: """ return self.execute_command("HINCRBYFLOAT", name, key, amount) - def hkeys(self, name: str) -> list: + def hkeys(self, name: str) -> List: """ Return the list of keys within hash ``name`` @@ -3796,7 +3796,7 @@ def hmset(self, name: str, mapping: dict) -> str: items.extend(pair) return self.execute_command("HMSET", name, *items) - def hmget(self, name: str, keys: list, *args: list) -> list: + def hmget(self, name: str, keys: List, *args: List) -> List: """ Returns a list of values ordered identically to ``keys`` @@ -3805,7 +3805,7 @@ def hmget(self, name: str, keys: list, *args: list) -> list: args = list_or_args(keys, args) return self.execute_command("HMGET", name, *args) - def hvals(self, name: str) -> list: + def hvals(self, name: str) -> List: """ Return the list of values within hash ``name`` From 77afc1356ea5362aec235c3a219145a233d582ed Mon Sep 17 00:00:00 2001 From: dvora-h <67596500+dvora-h@users.noreply.github.com> Date: Thu, 3 Feb 2022 13:42:43 +0200 Subject: [PATCH 3/3] linters --- redis/commands/core.py | 1 - 1 file changed, 1 deletion(-) diff --git a/redis/commands/core.py b/redis/commands/core.py index 8ba8cbe654..eac21f2463 100644 --- a/redis/commands/core.py +++ b/redis/commands/core.py @@ -2,7 +2,6 @@ import hashlib import time import warnings - from typing import List, Optional, Union from redis.exceptions import ConnectionError, DataError, NoScriptError, RedisError