From 3ddd9b28304c59d632bf5273e0daaec5132c26ab Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 12 Apr 2018 22:31:36 +0200 Subject: Parse command line arguments and add help output Include an option to pass a Meetup.com API token (not saved yet). --- src/main.rs | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'src') 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 = 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; + } } -- cgit v1.2.3