Skip to content

Commit

Permalink
Fix parse resp3 dict response: don't use dict comprehension (#2757)
Browse files Browse the repository at this point in the history
* Fix parse respp3 dict response

* linters

* pin urlib version
  • Loading branch information
dvora-h authored May 28, 2023
1 parent df47761 commit 312118b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
1 change: 1 addition & 0 deletions dev_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ pytest-cov>=4.0.0
vulture>=2.3.0
ujson>=4.2.0
wheel>=0.30.0
urllib3<2
uvloop
13 changes: 7 additions & 6 deletions redis/parsers/resp3.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,15 @@ def _read_response(self, disable_decoding=False, push_request=False):
pass
# map response
elif byte == b"%":
response = {
self._read_response(
disable_decoding=disable_decoding
): self._read_response(
# we use this approach and not dict comprehension here
# because this dict comprehension fails in python 3.7
resp_dict = {}
for _ in range(int(response)):
key = self._read_response(disable_decoding=disable_decoding)
resp_dict[key] = self._read_response(
disable_decoding=disable_decoding, push_request=push_request
)
for _ in range(int(response))
}
response = resp_dict
# push response
elif byte == b">":
response = [
Expand Down

0 comments on commit 312118b

Please sign in to comment.