Get rid of deprecation warnings
This commit is contained in:
parent
fdcb1b3d6f
commit
c8fb228a24
4 changed files with 71 additions and 6 deletions
|
|
@ -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 }
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue