Fixes issue decode_responses is set to True regardless if REDIS_OM_UR… (#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 <67596500+dvora-h@users.noreply.github.com>
This commit is contained in:
parent
9e17678094
commit
8325e6e111
1 changed files with 4 additions and 3 deletions
|
@ -7,13 +7,14 @@ URL = os.environ.get("REDIS_OM_URL", None)
|
|||
|
||||
|
||||
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)
|
||||
|
|
Loading…
Reference in a new issue