Get rid of deprecation warnings

This commit is contained in:
Joscha 2025-03-27 21:11:28 +01:00
parent fdcb1b3d6f
commit c8fb228a24
4 changed files with 71 additions and 6 deletions

View file

@ -6,6 +6,7 @@ edition = { workspace = true }
[dependencies]
anyhow = { workspace = true }
axum = { workspace = true, features = ["multipart"] }
chrono = {workspace = true}
clap = { workspace = true }
escpos = { workspace = true }
image = { workspace = true }

View file

@ -1,6 +1,8 @@
use anyhow::anyhow;
use axum::{Form, extract::State};
use jiff::{Timestamp, ToSpan, Zoned, civil, tz::TimeZone};
use serde::{Deserialize, Serialize};
use sunrise::{Coordinates, SolarDay, SolarEvent};
use crate::server::{Server, somehow};
@ -27,24 +29,32 @@ pub async fn post(server: State<Server>, Form(form): Form<FormData>) -> somehow:
let year = form.year.unwrap_or(now_date_utc.year());
let month = form.month.unwrap_or(now_date_utc.month());
let coord = Coordinates::new(form.latitude, form.longitude)
.ok_or_else(|| somehow::Error(anyhow!("Invalid coordinates")))?;
let first = civil::Date::new(year, month, 1)?;
let mut times = vec![];
for day in 0..first.days_in_month() {
let date = first + day.days();
let (rise, set) = sunrise::sunrise_sunset(
form.latitude,
form.longitude,
let date_chrono = chrono::NaiveDate::from_ymd_opt(
date.year() as i32,
date.month() as u32,
date.day() as u32,
);
)
.unwrap();
let rise = Timestamp::new(rise, 0)?
let solar_day = SolarDay::new(coord, date_chrono);
let rise_chrono = solar_day.event_time(SolarEvent::Sunrise);
let set_chrono = solar_day.event_time(SolarEvent::Sunset);
let rise = Timestamp::new(rise_chrono.timestamp(), 0)?
.to_zoned(now.time_zone().clone())
.strftime("%H:%M")
.to_string();
let set = Timestamp::new(set, 0)?
let set = Timestamp::new(set_chrono.timestamp(), 0)?
.to_zoned(now.time_zone().clone())
.strftime("%H:%M")
.to_string();