aboutsummaryrefslogtreecommitdiffstats
path: root/src/build_rss.rs
blob: d6ab35f10df8c582603869bbc00ced4448cde51d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use errors::*;

use meetup::client;
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(
    token: String,
    latitude: String,
    longitude: String,
    end_date: String,
    radius: Option<String>,
    page: Option<String>,
) -> Result<()> {
    let client = client::Client::new(token);
    let events = client.find_upcoming_events(
        latitude,
        longitude,
        format!("{}T00:00:00", end_date),
        radius,
        page
    )?;
    let channel = meetup_rss::generate(&events)?;
    meetup_rss::write(channel)?;

    Ok(())
}