#![allow(dead_code)]
use std::fs::File;
use std::io::Write;
use std::process::{Command, Stdio};
pub struct Execute;
const FILE_NAME: &str = "ExecuteLog.lg";
impl Execute {
pub fn run(command: &str, arguments: &[&str]) -> Vec<u8> {
let output = Command::new(command)
.args(arguments)
.stdout(Stdio::piped())
.spawn();
let child = match output {
Ok(child) => child,
Err(err) => {
panic!("Failed to execute command '{}': {}", command, err);
}
};
let result = child.wait_with_output();
match result {
Ok(output) => output.stdout,
Err(err) => {
panic!("Failed to wait for command '{}': {}", command, err);
}
}
}
pub fn print_into_console(output: &[u8]) {
let formatting = format!("{}", String::from_utf8_lossy(output));
println!("{}", formatting);
}
pub fn write_to_file(content: &[u8]) -> std::io::Result<()> {
let mut file = File::create(FILE_NAME)?;
file.write_all(content)?;
Ok(())
}
pub fn check_operation(op: &std::io::Result<()>) -> bool {
match op {
Ok(_) => {
println!("File created successfully in {}.", FILE_NAME);
true
}
Err(_) => {
panic!("Failed to create file {}.", FILE_NAME);
}
}
}
}