From 34fd3e75ab3cd7951944d9d49ca66fa3b15e1b02 Mon Sep 17 00:00:00 2001 From: mbaruh Date: Sat, 28 Jan 2023 03:13:45 +0200 Subject: Handle response message being a list --- bot/exts/filtering/_ui/ui.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/bot/exts/filtering/_ui/ui.py b/bot/exts/filtering/_ui/ui.py index bc9fc09f0..dc996faf7 100644 --- a/bot/exts/filtering/_ui/ui.py +++ b/bot/exts/filtering/_ui/ui.py @@ -148,11 +148,15 @@ def parse_value(value: str, type_: type[T]) -> T: def format_response_error(e: ResponseCodeError) -> Embed: """Format the response error into an embed.""" description = "" - if "non_field_errors" in e.response_json: - non_field_errors = e.response_json.pop("non_field_errors") - description += "\n".join(f"• {error}" for error in non_field_errors) + "\n" - for field, errors in e.response_json.items(): - description += "\n".join(f"• {field} - {error}" for error in errors) + "\n" + if isinstance(e.response_json, list): + description = "\n".join(f"• {error}" for error in e.response_json) + elif isinstance(e.response_json, dict): + if "non_field_errors" in e.response_json: + non_field_errors = e.response_json.pop("non_field_errors") + description += "\n".join(f"• {error}" for error in non_field_errors) + "\n" + for field, errors in e.response_json.items(): + description += "\n".join(f"• {field} - {error}" for error in errors) + "\n" + description = description.strip() if len(description) > MAX_EMBED_DESCRIPTION: description = description[:MAX_EMBED_DESCRIPTION] + "[...]" -- cgit v1.2.3