diff options
-rw-r--r-- | src/cli.rs | 14 | ||||
-rw-r--r-- | src/main.rs | 10 |
2 files changed, 13 insertions, 11 deletions
@@ -1,6 +1,8 @@ +use cmd; + const _DUMMY_DEPENDENCY: &'static str = include_str!("../Cargo.toml"); -pub enum Command { +enum Command { Sync { username: String, }, @@ -10,7 +12,15 @@ pub enum Command { }, } -pub fn get_options() -> failure::Fallible<Command> { +pub fn run() -> failure::Fallible<()> { + let command = get_options()?; + match command { + Command::Sync { username } => cmd::sync::run(&username), + Command::SQL { query, tsv } => cmd::sql::run(&query, tsv), + } +} + +fn get_options() -> failure::Fallible<Command> { let matches = app_from_crate!() .subcommand( clap::SubCommand::with_name("sync") diff --git a/src/main.rs b/src/main.rs index b43f310..a4ce773 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,14 +18,6 @@ mod lastfm; mod paths; mod db; -fn run() -> failure::Fallible<()> { - let command = cli::get_options()?; - match command { - cli::Command::Sync { username } => cmd::sync::run(&username), - cli::Command::SQL { query, tsv } => cmd::sql::run(&query, tsv), - } -} - fn program_name() -> failure::Fallible<String> { let program = std::env::args() .next() @@ -39,7 +31,7 @@ fn program_name() -> failure::Fallible<String> { } fn main() { - match run() { + match cli::run() { Ok(_) => {}, Err(e) => { let name = program_name() |