Skip to content

Commit f5bcebd

Browse files
committed
add variables to the function header
1 parent b8e540f commit f5bcebd

File tree

2 files changed

+20
-17
lines changed

2 files changed

+20
-17
lines changed

redis/commands/core.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,9 +1496,10 @@ def expire(
14961496
self,
14971497
name: KeyT,
14981498
time: ExpiryT,
1499-
option: Union[
1500-
Literal["NX"], Literal["XX"], Literal["GT"], Literal["LT"]
1501-
] = None,
1499+
nx: bool = False,
1500+
xx: bool = False,
1501+
gt: bool = False,
1502+
lt: bool = False,
15021503
) -> ResponseT:
15031504
"""
15041505
Set an expire flag on key ``name`` for ``time`` seconds with given
@@ -1516,13 +1517,15 @@ def expire(
15161517
if isinstance(time, datetime.timedelta):
15171518
time = int(time.total_seconds())
15181519

1519-
options = ["NX", "XX", "GT", "LT"]
1520-
if option and option not in options:
1521-
raise DataError(f"OPTION must be one of {options}")
1522-
15231520
exp_option = list()
1524-
if option is not None:
1525-
exp_option.append(option)
1521+
if nx:
1522+
exp_option.append("NX")
1523+
if xx:
1524+
exp_option.append("XX")
1525+
if gt:
1526+
exp_option.append("GT")
1527+
if lt:
1528+
exp_option.append("LT")
15261529

15271530
return self.execute_command("EXPIRE", name, time, *exp_option)
15281531

tests/test_commands.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,27 +1061,27 @@ def test_expire(self, r):
10611061
@skip_if_server_version_lt("7.0.0")
10621062
def test_expire_option_nx(self, r):
10631063
r.set("key", "val")
1064-
assert r.expire("key", 100, "NX") == 1
1065-
assert r.expire("key", 500, "NX") == 0
1064+
assert r.expire("key", 100, nx=True) == 1
1065+
assert r.expire("key", 500, nx=True) == 0
10661066

10671067
@skip_if_server_version_lt("7.0.0")
10681068
def test_expire_option_xx(self, r):
10691069
r.set("key", "val")
1070-
assert r.expire("key", 100, "XX") == 0
1070+
assert r.expire("key", 100, xx=True) == 0
10711071
assert r.expire("key", 100)
1072-
assert r.expire("key", 500, "XX") == 1
1072+
assert r.expire("key", 500, nx=True) == 1
10731073

10741074
@skip_if_server_version_lt("7.0.0")
10751075
def test_expire_option_gt(self, r):
10761076
r.set("key", "val", 100)
1077-
assert r.expire("key", 50, "GT") == 0
1078-
assert r.expire("key", 500, "GT") == 1
1077+
assert r.expire("key", 50, gt=True) == 0
1078+
assert r.expire("key", 500, gt=True) == 1
10791079

10801080
@skip_if_server_version_lt("7.0.0")
10811081
def test_expire_option_lt(self, r):
10821082
r.set("key", "val", 100)
1083-
assert r.expire("key", 50, "LT") == 1
1084-
assert r.expire("key", 150, "LT") == 0
1083+
assert r.expire("key", 50, lt=True) == 1
1084+
assert r.expire("key", 150, lt=True) == 0
10851085

10861086
def test_expireat_datetime(self, r):
10871087
expire_at = redis_server_time(r) + datetime.timedelta(minutes=1)

0 commit comments

Comments
 (0)