[pbs-devel] [PATCH proxmox v2] schema: beautify parameter error output
Gabriel Goller
g.goller at proxmox.com
Mon Oct 23 09:57:24 CEST 2023
If there is only one error, output in a single line, without any
excessive newlines at the end. If there are multiple errors, show them
in a bulleted list.
Signed-off-by: Gabriel Goller <g.goller at proxmox.com>
---
proxmox-schema/src/schema.rs | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/proxmox-schema/src/schema.rs b/proxmox-schema/src/schema.rs
index f087706..21b9d8a 100644
--- a/proxmox-schema/src/schema.rs
+++ b/proxmox-schema/src/schema.rs
@@ -101,14 +101,18 @@ impl fmt::Display for ParameterError {
let mut msg = String::new();
if !self.is_empty() {
- msg.push_str("parameter verification errors\n\n");
- }
-
- for (name, err) in self.error_list.iter() {
- let _ = writeln!(msg, "parameter '{}': {}", name, err);
+ if self.len() == 1 {
+ msg.push_str("parameter verification failed - ");
+ let _ = write!(msg, "'{}': {}", self.error_list[0].0, self.error_list[0].1);
+ } else {
+ msg.push_str("parameter verification failed:\n");
+ for (name, err) in self.error_list.iter() {
+ let _ = writeln!(msg, "- '{}': {}", name, err);
+ }
+ }
}
- write!(f, "{}", msg)
+ write!(f, "{}", msg.trim())
}
}
--
2.39.2
More information about the pbs-devel
mailing list