Improve error handling

This commit is contained in:
Marko Korhonen 2020-01-21 21:00:09 +02:00
parent c1878b1fab
commit 1a016546d8
No known key found for this signature in database
GPG key ID: 911B85FBC6003FE5

View file

@ -58,23 +58,42 @@ fn main() {
} else { } else {
conf = config::load_xdg(); conf = config::load_xdg();
} }
let dim_speed = time::Duration::from_millis(conf.dim_speed); let dim_speed = time::Duration::from_millis(conf.dim_speed);
let resume_speed = time::Duration::from_millis(conf.resume_speed); let resume_speed = time::Duration::from_millis(conf.resume_speed);
if args.is_present("dim") { if args.is_present("dim") {
let current_brightness = get_brightness().to_string(); let current_brightness = get_brightness().to_string();
match fs::write(&conf.resume_file, current_brightness) { match fs::write(&conf.resume_file, current_brightness) {
Ok(()) => println!("Current brightness written to resume file"), Ok(()) => println!(
"Current brightness written to resume file at {}",
conf.resume_file.display()
),
Err(err) => eprintln!("Error writing brightness to resume file: {}", err), Err(err) => eprintln!("Error writing brightness to resume file: {}", err),
} }
transition(conf.idle_level, dim_speed); transition(conf.idle_level, dim_speed);
} }
if args.is_present("resume") { if args.is_present("resume") {
let old_brightness: i32 = fs::read(&conf.resume_file).unwrap().parse().unwrap(); let old_brightness: i32;
match fs::read(&conf.resume_file) {
Ok(result) => old_brightness = result.parse().unwrap(),
Err(err) => {
eprintln!("Failed to read resume_file: {}", err);
old_brightness = 100;
}
}
transition(old_brightness, resume_speed); transition(old_brightness, resume_speed);
match fs::remove(&conf.resume_file) { match fs::remove(&conf.resume_file) {
Ok(()) => println!("Resume file removed"), Ok(()) => println!("Resume file removed"),
Err(err) => eprintln!("Failed to remove resume file: {}", err), Err(err) => eprintln!("Failed to remove resume file: {}", err),
} }
} }
if args.is_present("copy-config") {
config::copy_config();
}
} }