summaryrefslogtreecommitdiff
path: root/redis/commands/helpers.py
diff options
context:
space:
mode:
Diffstat (limited to 'redis/commands/helpers.py')
-rw-r--r--redis/commands/helpers.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/redis/commands/helpers.py b/redis/commands/helpers.py
new file mode 100644
index 0000000..b012621
--- /dev/null
+++ b/redis/commands/helpers.py
@@ -0,0 +1,25 @@
+def list_or_args(keys, args):
+ # returns a single new list combining keys and args
+ try:
+ iter(keys)
+ # a string or bytes instance can be iterated, but indicates
+ # keys wasn't passed as a list
+ if isinstance(keys, (bytes, str)):
+ keys = [keys]
+ else:
+ keys = list(keys)
+ except TypeError:
+ keys = [keys]
+ if args:
+ keys.extend(args)
+ return keys
+
+
+def nativestr(x):
+ """Return the decoded binary string, or a string, depending on type."""
+ return x.decode("utf-8", "replace") if isinstance(x, bytes) else x
+
+
+def delist(x):
+ """Given a list of binaries, return the stringified version."""
+ return [nativestr(obj) for obj in x]