More null handling in weather API responses

This commit is contained in:
Mahesh Asolkar 2025-06-14 16:55:26 -07:00
parent 91b02c24fb
commit e8ab11eff9
Signed by: asolkar
GPG Key ID: 371CA8164433BDCC

View File

@ -33,9 +33,10 @@ impl UnibarModuleWeather {
}
_ => {
deg_c = self.weather_info["features"][0]["properties"]["temperature"]["value"]
.to_string().parse().unwrap();
.to_string().parse().unwrap();
}
}
match self.opts.weather_units {
common::TemperatureUnits::Metric => return deg_c,
common::TemperatureUnits::Imperial => return (deg_c * 9.0 / 5.0) + 32.0,
@ -203,6 +204,10 @@ impl bar_modules::BarModuleActions for UnibarModuleWeather {
"".to_string()
});
self.weather_info = serde_json::from_str(curl_reg_str.as_str()).unwrap();
if self.weather_info["features"][0]["properties"]["temperature"]["value"] == serde_json::Value::Null {
self.weather_info = serde_json::Value::Null;
}
}
}