Skip to content

Commit ff11d19

Browse files
committed
refactor new code slightly to suit mypy
Signed-off-by: Grant Ramsay <[email protected]>
1 parent c7d8b27 commit ff11d19

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

fastapi_redis_cache/cache.py

+15-7
Original file line numberDiff line numberDiff line change
@@ -165,12 +165,14 @@ async def inner_wrapper(
165165

166166
ignore_args = redis_cache.ignore_arg_types
167167

168-
if all([redis_cache.redis, redis_cache.connected, tag, kwargs]):
168+
if redis_cache.redis and redis_cache.connected and tag and kwargs:
169169
# remove any args that should not be used to generate the cache
170170
# key.
171171
filtered_kwargs = kwargs.copy()
172-
for arg in ignore_args:
173-
filtered_kwargs.pop(arg, None)
172+
for key in list(filtered_kwargs.keys()):
173+
if type(filtered_kwargs[key]) in ignore_args:
174+
del filtered_kwargs[key]
175+
# create the search string to find the keys to expire.
174176
search = "".join(
175177
[
176178
f"({key}={value})"
@@ -179,12 +181,18 @@ async def inner_wrapper(
179181
)
180182
tag_keys = redis_cache.get_tagged_keys(tag)
181183
found_keys = [key for key in tag_keys if search.encode() in key]
182-
for key in found_keys:
184+
for this_key in found_keys:
185+
key_str = (
186+
this_key.decode()
187+
if isinstance(this_key, bytes)
188+
else this_key
189+
)
190+
183191
redis_cache.log(
184-
RedisEvent.KEY_DELETED_FROM_CACHE, key=key.decode()
192+
RedisEvent.KEY_DELETED_FROM_CACHE, key=str(key_str)
185193
)
186-
redis_cache.redis.delete(key)
187-
redis_cache.redis.srem(tag, key)
194+
redis_cache.redis.delete(key_str)
195+
redis_cache.redis.srem(tag, key_str)
188196

189197
return Response(
190198
content=serialize_json(orig_response),

0 commit comments

Comments
 (0)