Gives you an Error trait for easy idiomatic error handling.
use anyhow::*;
use std::{fs, io};
const ACPI_PATH: &str = "/sys/class/backlight/";
fn main() -> Result<()> {
let mut entries = fs::read_dir(ACPI_PATH)?
.map(|res| res.map(|entry| entry.path()))
.collect::<Result<Vec<_>, io::Error>>()?;
// Exit if no backlights found.
if entries.is_empty() {
return Err(anyhow!("No backlights found."));
}
// Get brightness and max brightness.
entries.sort();
dbg!(entries);
Ok(())
}