diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/build_rss.rs | 14 | ||||
-rw-r--r-- | src/lib.rs | 2 | ||||
-rw-r--r-- | src/main.rs | 6 |
3 files changed, 21 insertions, 1 deletions
diff --git a/src/build_rss.rs b/src/build_rss.rs new file mode 100644 index 0000000..ab9d06d --- /dev/null +++ b/src/build_rss.rs @@ -0,0 +1,14 @@ +use std::error::Error; + +use meetup::event; +use meetup_rss; + +/// Requests the Meetup API, generates an RSS feed from the resulting events, +/// and writes the XML to standard output. +pub fn write_feed() -> Result<(), Box<Error>> { + let events = event::find_upcoming_events()?; + let channel = meetup_rss::generate(&events)?; + meetup_rss::write(channel); + + Ok(()) +} @@ -2,4 +2,6 @@ extern crate rss; extern crate meetup; +pub mod build_rss; + mod meetup_rss; diff --git a/src/main.rs b/src/main.rs index 5bc3131..81097ae 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,10 +1,14 @@ extern crate getopts; +extern crate meetup_find_events_rss; + use getopts::Options; use std::env; use std::process::exit; +use meetup_find_events_rss::build_rss; + fn print_usage(opts: Options) { let brief = "usage: meetup-find-events-rss"; print!("{}", opts.usage(&brief)); @@ -37,5 +41,5 @@ fn main() { let meetup_token = opt_matches.opt_str("meetup-api-token").unwrap(); - println!("{}", meetup_token); + build_rss::write_feed().unwrap(); } |