aboutsummaryrefslogtreecommitdiff
path: root/src/utils/weather.rs
blob: 9dc053b7c11dde9b75df9416b76089f62b10c671 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use crate::config::CONFIG;

// will make a GET request from wttr.in
pub fn get_weather() -> String {
    let format = if CONFIG.weather.format.is_empty() {
        String::from("%l:+%t")
    } else {
        CONFIG.weather.format.clone()
    };

    let url = format!("http://wttr.in/{}?format=\"{}", CONFIG.weather.city, format);
    let err_string = String::from("Error");
    let res = match minreq::get(url).send() {
        Ok(resp) => match resp.as_str() {
            Ok(res_str) => res_str.trim_matches('"').to_string(),
            Err(_) => err_string,
        },
        Err(_) => err_string,
    };

    format!("  {}  {}  {}", CONFIG.weather.icon, res, CONFIG.seperator)
}