error handling for unwrap process stuff on exec taskwarrior

This commit is contained in:
Yase 2016-06-09 17:21:24 +02:00
parent 2fec50fc10
commit 41ae20c049

View file

@ -12,18 +12,14 @@ extern crate libimagutil;
use std::process::exit; use std::process::exit;
use std::process::{Command, Stdio}; use std::process::{Command, Stdio};
use std::error::Error;
use libimagrt::runtime::Runtime; use libimagrt::runtime::Runtime;
use std::process::Output;
use std::io::Write;
use std::io::Read;
mod ui; mod ui;
use ui::build_ui; use ui::build_ui;
fn main() { fn main() {
let name = "imag-todo"; let name = "imag-todo";
let version = &version!()[..]; let version = &version!()[..];
let about = "Interface with taskwarrior"; let about = "Interface with taskwarrior";
@ -74,22 +70,19 @@ fn main() {
for e in exec_string { for e in exec_string {
args.push(e); args.push(e);
} }
let mut tw_process = Command::new("/usr/local/bin/task").stdin(Stdio::null()).args(&args).spawn().unwrap(); let mut tw_process = Command::new("/usr/local/bin/task").stdin(Stdio::null()).args(&args).spawn().unwrap_or_else(|e| {
//let erg = tw_process.args(&args).spawn().unwrap(); //{ panic!("failed to execute taskwarrior: {}", e);
// Ok(_) => debug!("Executed command:\n"), });
// Err(e) => debug!("Failed to execute command: {:#?}", e),
//} let output = tw_process.wait_with_output().unwrap_or_else(|e| {
let output = tw_process.wait_with_output().unwrap(); panic!("failed to unwrap output: {}", e);
let outstring = String::from_utf8(output.stdout).unwrap(); });
let outstring = String::from_utf8(output.stdout).unwrap_or_else(|e| {
panic!("failed to ececute: {}", e);
});
println!("{}", outstring); println!("{}", outstring);
//let mut s = String::new();
//match tw_process.stdout.unwrap().read_to_string(&mut s) {
//Err(err) => panic!("couldn't read taskwarrior stdout: {}",
// err.description()),
//Ok(_) => print!("taskwarrior responded with:\n{}", s),
//}
} else { } else {
println!("You need '--command'"); panic!("faild to execute: You need to exec --command");
} }
}, },
_ => panic!("Reached unreachable Code"), _ => panic!("Reached unreachable Code"),