mtemp 0.1.23

CLI for monitoring temperatures
Documentation
use crate::{lm_sensors::sensors_data, nvidia_smi::temperature};

pub struct Mtemp {}

impl Mtemp {
    pub fn cpu() -> Option<f64> {
        let sensors_data = sensors_data();
        if sensors_data.is_err() {
            return None;
        }

        if let Some(chip) = sensors_data.unwrap().cpu_chip() {
            chip.temp()
        } else {
            None
        }
    }

    pub fn disk() -> Option<f64> {
        let sensors_data = sensors_data();
        if sensors_data.is_err() {
            return None;
        }

        if let Some(chip) = sensors_data.unwrap().disk_chip() {
            chip.temp()
        } else {
            None
        }
    }

    pub fn gpu() -> Option<f64> {
        if let Ok(temp) = temperature() {
            Some(temp)
        } else {
            None
        }
    }
}