Skip to content

Commit

Permalink
Fixes issue decode_responses is set to True regardless if REDIS_OM_UR… (
Browse files Browse the repository at this point in the history
#373)

Fixes issue decode_responses is set to True regardless if REDIS_OM_URL environment variable is set.
Otherwise these warnings pop up when persisting objects:

Could not parse Redis response. Error was: "keywords must be strings". Probably, the connection is not set to decode responses from bytes. Attempting to decode response
using the encoding set on model class (<class 'redis_om.model.model.ModelMeta'>. Encoding: utf-8.

Co-authored-by: dvora-h <[email protected]>
  • Loading branch information
melder and dvora-h authored Sep 8, 2022
1 parent 9e17678 commit 8325e6e
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions aredis_om/connections.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@


def get_redis_connection(**kwargs) -> redis.Redis:
# Decode from UTF-8 by default
if "decode_responses" not in kwargs:
kwargs["decode_responses"] = True

# If someone passed in a 'url' parameter, or specified a REDIS_OM_URL
# environment variable, we'll create the Redis client from the URL.
url = kwargs.pop("url", URL)
if url:
return redis.Redis.from_url(url, **kwargs)

# Decode from UTF-8 by default
if "decode_responses" not in kwargs:
kwargs["decode_responses"] = True
return redis.Redis(**kwargs)

0 comments on commit 8325e6e

Please sign in to comment.