aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar mbaruh <[email protected]>2023-01-28 03:13:45 +0200
committerGravatar mbaruh <[email protected]>2023-01-28 03:13:45 +0200
commit34fd3e75ab3cd7951944d9d49ca66fa3b15e1b02 (patch)
tree17ffe1d2662b52ee6a7ecbb6157c84549ac00a81
parentInclude filterlist information when patching filters (diff)
Handle response message being a list
-rw-r--r--bot/exts/filtering/_ui/ui.py14
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] + "[...]"