Skip to main content

13_weather_changes_snapshot/
13_weather_changes_snapshot.rs

1#[path = "support/mod.rs"]
2mod support;
3
4use std::error::Error;
5
6use weatherkit::prelude::*;
7
8fn main() -> Result<(), Box<dyn Error>> {
9    let service = WeatherService::shared();
10    let location = support::sample_location();
11
12    if let Some(changes) = support::handle_result("weather changes", service.weather_changes(&location))? {
13        match changes {
14            Some(changes) => println!("changes={} metadata_date={}", changes.len(), changes.metadata.date),
15            None => println!("changes=none"),
16        }
17    }
18
19    if let Some(comparisons) = support::handle_result(
20        "historical comparisons",
21        service.historical_comparisons(&location),
22    )? {
23        match comparisons {
24            Some(comparisons) => println!(
25                "historical_comparisons={} metadata_date={}",
26                comparisons.len(), comparisons.metadata.date
27            ),
28            None => println!("historical_comparisons=none"),
29        }
30    }
31
32    support::finish("weather changes");
33    Ok(())
34}