From 3f539895295a33d24a9247bde9d9453a8cc295a7 Mon Sep 17 00:00:00 2001 From: Rajiv Bakulesh Shah Date: Mon, 21 Sep 2020 06:38:59 -0700 Subject: [PATCH] Add more stubs for redis-py (#4557) --- third_party/2and3/redis/client.pyi | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/third_party/2and3/redis/client.pyi b/third_party/2and3/redis/client.pyi index 3e2acd192..a9eb3f8f6 100644 --- a/third_party/2and3/redis/client.pyi +++ b/third_party/2and3/redis/client.pyi @@ -1,5 +1,5 @@ from datetime import timedelta -from typing import Any, Callable, Dict, Iterable, Iterator, List, Mapping, Optional, Sequence, Set, Text, Tuple, Union +from typing import Any, Callable, Dict, Iterable, Iterator, List, Mapping, Optional, Sequence, Set, Text, Tuple, Union, overload from typing_extensions import Literal from .connection import ConnectionPool @@ -70,7 +70,7 @@ class Redis(object): max_connections: Optional[int] = ..., ) -> None: ... def set_response_callback(self, command, callback): ... - def pipeline(self, transaction=..., shard_hint=...): ... + def pipeline(self, transaction: bool = ..., shard_hint: Any = ...) -> Pipeline: ... def transaction(self, func, *watches, **kwargs): ... def lock(self, name, timeout=..., sleep=..., blocking_timeout=..., lock_class=..., thread_local=...): ... def pubsub(self, shard_hint: Any = ..., ignore_subscribe_messages: bool = ...) -> PubSub: ... @@ -119,7 +119,7 @@ class Redis(object): def bitop(self, operation, dest, *keys): ... def bitpos(self, key, bit, start=..., end=...): ... def decr(self, name, amount=...): ... - def delete(self, *names: _Key): ... + def delete(self, *names: _Key) -> int: ... def __delitem__(self, _Key): ... def dump(self, name): ... def exists(self, *names: _Key) -> int: ... @@ -159,12 +159,12 @@ class Redis(object): ) -> Optional[bool]: ... def __setitem__(self, name, value): ... def setbit(self, name: _Key, offset: int, value: int) -> int: ... - def setex(self, name, time, value): ... + def setex(self, name: _Key, time: Union[int, timedelta], value: _Value) -> bool: ... def setnx(self, name, value): ... def setrange(self, name, offset, value): ... def strlen(self, name): ... def substr(self, name, start, end=...): ... - def ttl(self, name): ... + def ttl(self, name: _Key) -> int: ... def type(self, name): ... def watch(self, *names): ... def unwatch(self): ... @@ -221,7 +221,10 @@ class Redis(object): def smembers(self, name: _Key) -> Set[_Value]: ... def smove(self, src, dst, value): ... def spop(self, name, count: Optional[int] = ...): ... - def srandmember(self, name, number=...): ... + @overload + def srandmember(self, name: _Key, number: None = ...) -> Optional[_Value]: ... + @overload + def srandmember(self, name: _Key, number: int) -> List[_Value]: ... def srem(self, name: _Key, *values: _Value) -> int: ... def sunion(self, keys, *args): ... def sunionstore(self, dest, keys, *args): ... @@ -302,7 +305,7 @@ class Redis(object): def script_flush(self): ... def script_kill(self): ... def script_load(self, script): ... - def register_script(self, script): ... + def register_script(self, script: Union[Text, bytes]) -> Script: ... def pubsub_channels(self, pattern: _Key = ...) -> List[Text]: ... def pubsub_numsub(self, *args: _Key) -> List[Tuple[Text, int]]: ... def pubsub_numpat(self) -> int: ... @@ -369,7 +372,7 @@ class BasePipeline: def parse_response(self, connection, command_name, **options): ... def load_scripts(self): ... def execute(self, raise_on_error: bool = ...) -> List[Any]: ... - def watch(self, *names): ... + def watch(self, *names: _Key) -> bool: ... def unwatch(self): ... def script_load_for_pipeline(self, script): ...