deepwash 0.1.0

A Command Line Interface to clean your machine (docker...)
Documentation
use std::process::Command;
use std::thread::sleep;
use std::time::Duration;

pub fn run_cmd(cmd: &str, args: &[&str]) -> Result<String, String> {
    let output = Command::new(cmd)
        .args(args)
        .output()
        .map_err(|e| format!("Failed to run command: {}", e))?;

    if output.status.success() {
        Ok(String::from_utf8_lossy(&output.stdout).to_string())
    } else {
        Err(String::from_utf8_lossy(&output.stderr).to_string())
    }
}



pub fn wait_for_docker_ready(timeout_secs: u64) -> bool {
    let mut waited = 0;
    let interval = 2;
    while waited < timeout_secs {
        if let Ok(_) = run_cmd("docker", &["info"]) {
            return true;
        }
        sleep(Duration::from_secs(interval));
        waited += interval;
    }
    false
}