diff options
| author | 2023-01-28 03:13:45 +0200 | |
|---|---|---|
| committer | 2023-01-28 03:13:45 +0200 | |
| commit | 34fd3e75ab3cd7951944d9d49ca66fa3b15e1b02 (patch) | |
| tree | 17ffe1d2662b52ee6a7ecbb6157c84549ac00a81 | |
| parent | Include filterlist information when patching filters (diff) | |
Handle response message being a list
| -rw-r--r-- | bot/exts/filtering/_ui/ui.py | 14 |
1 files 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] + "[...]" |