aio-libs/aiocache
Voir sur GitHubClear() method with 'namespace' parameter fails: TypeError: delete() missing 1 required positional argument: 'key'
Open
#472 ouverte le 24 déc. 2019
buggood first issue
Métriques du dépôt
- Stars
- (1 432 stars)
- Métriques de merge PR
- (Aucune PR mergée en 30 j)
Description
I want to use certain namespace while cleaning redis cache, like below:
coros.append(asyncio.ensure_future(cache.clear(namespace='main')))
Error occured when redis cache doesn't have key with namespace 'main' :
coros.append(asyncio.ensure_future(cache.clear(namespace='dialog_api')))
I've found the problem in file aiocache/backends/redis.py in 187 line:
async def _clear(self, namespace=None, _conn=None):
if namespace:
keys = await _conn.keys("{}:*".format(namespace))
await _conn.delete(*keys)
else:
await _conn.flushdb()
return True
So, I want to fix it by adding if statement, like:
async def _clear(self, namespace=None, _conn=None):
if namespace:
keys = await _conn.keys("{}:*".format(namespace))
if keys:
await _conn.delete(*keys)
I could be wrong or miss something, if anybody faced with it please comment