diff options
author | Teddy Wing | 2018-04-12 22:31:36 +0200 |
---|---|---|
committer | Teddy Wing | 2018-04-12 22:31:36 +0200 |
commit | 3ddd9b28304c59d632bf5273e0daaec5132c26ab (patch) | |
tree | 7a5a64fae1c5acecd04707fcf82f985042039236 /src | |
parent | a96763889060a2450a135acaf34e0e462960d571 (diff) | |
download | meetup-find-events-rss-3ddd9b28304c59d632bf5273e0daaec5132c26ab.tar.bz2 |
Parse command line arguments and add help output
Include an option to pass a Meetup.com API token (not saved yet).
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs index e7a11a9..963a510 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,37 @@ +extern crate getopts; + +use getopts::Options; + +use std::env; +use std::process::exit; + +fn print_usage(opts: Options) { + let brief = "usage: meetup-find-events-rss"; + print!("{}", opts.usage(&brief)); +} + fn main() { - println!("Hello, world!"); + let args: Vec<String> = env::args().collect(); + + let mut opts = Options::new(); + opts.optopt( + "", + "meetup-api-token", + "Meetup.com API token (required)", + "TOKEN" + ); + opts.optflag("h", "help", "print this help menu"); + + let opt_matches = match opts.parse(&args[1..]) { + Ok(m) => m, + Err(f) => { + eprint!("meetup-find-events-rss: error: {}", f.to_string()); + exit(1); + }, + }; + + if opt_matches.opt_present("h") { + print_usage(opts); + return; + } } |