public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox v2] schema: beautify parameter error output
@ 2023-10-23  7:57 Gabriel Goller
  2023-10-23 15:40 ` [pbs-devel] applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Gabriel Goller @ 2023-10-23  7:57 UTC (permalink / raw)
  To: pbs-devel

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@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





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-10-23 15:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-23  7:57 [pbs-devel] [PATCH proxmox v2] schema: beautify parameter error output Gabriel Goller
2023-10-23 15:40 ` [pbs-devel] applied: " Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal