Skip to content

Commit d458542

Browse files
authored
support str for timeout and ttl (#454)
1 parent 52c6dd3 commit d458542

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

aiocache/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,9 @@ class BaseCache:
106106
def __init__(
107107
self, serializer=None, plugins=None, namespace=None, key_builder=None, timeout=5, ttl=None
108108
):
109-
self.timeout = timeout
109+
self.timeout = float(timeout) if timeout is not None else timeout
110110
self.namespace = namespace
111-
self.ttl = ttl
111+
self.ttl = float(ttl) if ttl is not None else ttl
112112
self.build_key = key_builder or self._build_key
113113

114114
self._serializer = None

tests/ut/test_base.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,14 @@ async def dummy(self, *args, **kwargs):
144144

145145

146146
class TestBaseCache:
147+
def test_str_ttl(self):
148+
cache = BaseCache(ttl="1.5")
149+
assert cache.ttl == 1.5
150+
151+
def test_str_timeout(self):
152+
cache = BaseCache(timeout="1.5")
153+
assert cache.timeout == 1.5
154+
147155
@pytest.mark.asyncio
148156
async def test_add(self, base_cache):
149157
with pytest.raises(NotImplementedError):

0 commit comments

Comments
 (0)