mtemp 0.1.23

CLI for monitoring temperatures
Documentation
use anyhow::{anyhow, Result};
use std::{process::Command, result::Result::Ok};

pub fn temperature() -> Result<f64> {
    let output = Command::new("nvidia-smi")
        .arg("--query-gpu=temperature.gpu")
        .arg("--format=csv,noheader")
        .output()?;
    if output.status.success() {
        let string_temp = String::from_utf8_lossy(&output.stdout).to_string();
        let clean_temp = string_temp.trim();
        match &clean_temp.parse::<f64>() {
            Ok(temp) => Ok(*temp),
            Err(err) => Err(anyhow!(err.to_string())),
        }
    } else {
        Err(anyhow!(String::from_utf8_lossy(&output.stderr).to_string()))
    }
}