diff options
| author | Eskil Queseth <eskilq@kth.se> | 2020-10-16 02:32:03 +0200 |
|---|---|---|
| committer | Eskil Queseth <eskilq@kth.se> | 2020-10-16 02:32:03 +0200 |
| commit | e5b8a79f7ba4bc3fddff77863d2332cfc53c1754 (patch) | |
| tree | 8062101083379b5d53086d319df9a09154853df6 /mumctl/src | |
| parent | 6a6ee0c9db9de7f7632050ad4984a3f92d8a96e9 (diff) | |
| download | mum-e5b8a79f7ba4bc3fddff77863d2332cfc53c1754.tar.gz | |
add pretty error messages
Diffstat (limited to 'mumctl/src')
| -rw-r--r-- | mumctl/src/main.rs | 59 |
1 files changed, 45 insertions, 14 deletions
diff --git a/mumctl/src/main.rs b/mumctl/src/main.rs index d6c046d..01c5743 100644 --- a/mumctl/src/main.rs +++ b/mumctl/src/main.rs @@ -4,6 +4,15 @@ use log::*; use mumlib::command::{Command, CommandResponse}; use mumlib::setup_logger; use std::{fs, io}; +use colored::Colorize; + +macro_rules! err_print { + ($func:expr) => { + if let Err(e) = $func { + println!("{} {}", "error:".red(), e); + } + }; +} fn main() { setup_logger(); @@ -41,36 +50,58 @@ fn main() { .long("fish"))); let matches = app.clone().get_matches(); - - debug!("Matching clap"); + if let Some(matches) = matches.subcommand_matches("server") { if let Some(matches) = matches.subcommand_matches("connect") { let host = matches.value_of("host").unwrap(); let username = matches.value_of("username").unwrap(); - send_command(Command::ServerConnect { + err_print!(send_command(Command::ServerConnect { host: host.to_string(), port: 64738u16, //TODO username: username.to_string(), accept_invalid_cert: true, //TODO - }).unwrap(); + })); + /*if let Err(e) = send_command(Command::ServerConnect { + host: host.to_string(), + port: 64738u16, //TODO + username: username.to_string(), + accept_invalid_cert: true, //TODO + }) { + println!("{} {}", "error:".red(), e); + }*/ } else if let Some(_) = matches.subcommand_matches("disconnect") { - send_command(Command::ServerDisconnect).unwrap(); + err_print!(send_command(Command::ServerDisconnect)); } } else if let Some(matches) = matches.subcommand_matches("channel") { if let Some(_matches) = matches.subcommand_matches("list") { - let res = send_command(Command::ChannelList).unwrap().unwrap(); - println!("{:#?}", res); - /*if matches.is_present("short") { - None //TODO - } else { - None //TODO - };*/ + match send_command(Command::ChannelList) { + Ok(res) => { + println!("{:#?}", res.unwrap()); + /*if matches.is_present("short") { + None //TODO + } else { + None //TODO + };*/ + } + Err(e) => println!("{} {}", "error:".red(), e), + } } else if let Some(matches) = matches.subcommand_matches("connect") { - send_command(Command::ChannelJoin { + err_print!(send_command(Command::ChannelJoin { channel_id: matches.value_of("channel").unwrap().parse::<u32>().unwrap() - }).unwrap(); + })); } } else if let Some(_matches) = matches.subcommand_matches("status") { + match send_command(Command::Status) { + Ok(res) => { + println!("{:#?}", res.unwrap()); + /*if matches.is_present("short") { + None //TODO + } else { + None //TODO + };*/ + } + Err(e) => println!("{} {}", "error:".red(), e), + } let res = send_command(Command::Status).unwrap().unwrap(); println!("{:#?}", res); } else if let Some(matches) = matches.subcommand_matches("completions") { |
