8325e6e111
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>
21 lines
524 B
Python
21 lines
524 B
Python
import os
|
|
|
|
from . import redis
|
|
|
|
|
|
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)
|
|
|
|
return redis.Redis(**kwargs)
|