From c55884d1a7bbd42e49d527a8dc817cb4625c371d Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Thu, 26 Oct 2023 17:19:48 +0200 Subject: [PATCH] system report: factor out getting command output into helper fn Signed-off-by: Thomas Lamprecht --- src/server/report.rs | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/server/report.rs b/src/server/report.rs index 5710a5a3..2a2317a3 100644 --- a/src/server/report.rs +++ b/src/server/report.rs @@ -148,6 +148,19 @@ fn get_directory_content(path: impl AsRef) -> String { out } +fn get_command_output(exe: &str, args: &Vec<&str>) -> String { + let output = Command::new(exe) + .env("PROXMOX_OUTPUT_NO_BORDER", "1") + .args(args) + .output(); + let output = match output { + Ok(output) => String::from_utf8_lossy(&output.stdout).to_string(), + Err(err) => err.to_string(), + }; + let output = output.trim_end(); + format!("$ `{exe} {}`\n```\n{output}\n```", args.join(" ")) +} + pub fn generate_report() -> String { let file_contents = files() .iter() @@ -173,18 +186,7 @@ pub fn generate_report() -> String { let command_outputs = commands() .iter() - .map(|(command, args)| { - let output = Command::new(command) - .env("PROXMOX_OUTPUT_NO_BORDER", "1") - .args(args) - .output(); - let output = match output { - Ok(output) => String::from_utf8_lossy(&output.stdout).to_string(), - Err(err) => err.to_string(), - }; - let output = output.trim_end(); - format!("$ `{command} {}`\n```\n{output}\n```", args.join(" ")) - }) + .map(|(command, args)| get_command_output(command, args)) .collect::>() .join("\n\n");