From d71fd6264d58795c50b9350d7c39677b671e0896 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 17 Jul 2021 09:34:48 +0200 Subject: Merging upstream version 1.9.4. Signed-off-by: Daniel Baumann --- iredis/renders.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'iredis/renders.py') diff --git a/iredis/renders.py b/iredis/renders.py index 02470f0..2898c42 100644 --- a/iredis/renders.py +++ b/iredis/renders.py @@ -56,6 +56,8 @@ class OutputRender: return value if isinstance(value, int): return str(value).encode() + if isinstance(value, str): + return value.encode() if isinstance(value, list): return _render_raw_list(value) @@ -78,7 +80,7 @@ class OutputRender: @staticmethod def render_nested_pair(value): """ - For redis internel responses. + For redis internal responses. Always decode with utf-8 Render nested list. Items come as pairs. @@ -168,6 +170,16 @@ class OutputRender: text = ensure_str(text) return FormattedText([("class:success", text)]) + @staticmethod + def render_help(raw): + """ + render help text message. + the comand like ``ACL HELP`` and ``MEMORY HELP`` + will return a list of strings. + we render it as plain text + """ + return FormattedText([("class:string", _render_raw_list(raw).decode())]) + @staticmethod def render_transaction_queue(text): """ @@ -344,6 +356,8 @@ def _render_raw_list(bytes_items): flatten_items.append(item) elif isinstance(item, int): flatten_items.append(str(item).encode()) + elif isinstance(item, str): + flatten_items.append(item.encode()) elif isinstance(item, list): flatten_items.append(_render_raw_list(item)) return b"\n".join(flatten_items) @@ -387,7 +401,7 @@ def _render_scan(render_response, response): rendered = [ ("class:type", "(cursor) "), - ("class:integer", cursor.decode()), + ("class:integer", cursor if isinstance(cursor, str) else cursor.decode()), ("", "\n"), ] rendered_keys = render_response(responses) -- cgit v1.2.3