summaryrefslogtreecommitdiff
path: root/redis/utils.py
diff options
context:
space:
mode:
authorJon Dufresne <jon.dufresne@gmail.com>2020-08-06 15:15:02 -0700
committerGitHub <noreply@github.com>2020-08-06 15:15:02 -0700
commit8c5a41baf0bd2a1388d601e5b49d06b91997ccb8 (patch)
tree89cad14d95927f8ea696706c2b1399dde17fa244 /redis/utils.py
parentc6f13c3b69d32257ab75ba9d824e5b555f91572c (diff)
downloadredis-py-8c5a41baf0bd2a1388d601e5b49d06b91997ccb8.tar.gz
Remove support for end-of-life Python 2.7 (#1318)
Remove support for end-of-life Python 2.7 Python 2.7 is end of life. It is no longer receiving bug fixes, including for security issues. Python 2.7 went EOL on 2020-01-01. For additional details on support Python versions, see: Supported: https://devguide.python.org/#status-of-python-branches EOL: https://devguide.python.org/devcycle/#end-of-life-branches Removing support for EOL Pythons will reduce testing and maintenance resources while allowing the library to move towards a modern Python 3 style. Python 2.7 users can continue to use the previous version of redis-py. Was able to simplify the code: - Removed redis._compat module - Removed __future__ imports - Removed object from class definition (all classes are new style) - Removed long (Python 3 unified numeric types) - Removed deprecated __nonzero__ method - Use simpler Python 3 super() syntax - Use unified OSError exception - Use yield from syntax Co-authored-by: Andy McCurdy <andy@andymccurdy.com>
Diffstat (limited to 'redis/utils.py')
-rw-r--r--redis/utils.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/redis/utils.py b/redis/utils.py
index 6ef6fd4..3664708 100644
--- a/redis/utils.py
+++ b/redis/utils.py
@@ -26,8 +26,13 @@ def pipeline(redis_obj):
p.execute()
-class dummy(object):
- """
- Instances of this class can be used as an attribute container.
- """
- pass
+def str_if_bytes(value):
+ return (
+ value.decode('utf-8', errors='replace')
+ if isinstance(value, bytes)
+ else value
+ )
+
+
+def safe_str(value):
+ return str(str_if_bytes(value))