From 80a4af9f0a6f7e3bd2d8254f8bc8475ca73b8980 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Tue, 1 Feb 2022 17:41:56 +0100 Subject: display iceportal itinery & stops I'm pretty sure something in parsing the times is broken, since this train is currently /also/ broken I have absolutely no idea what the correct ones would be and don't have the energy to dig further into this. --- src/serde.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/serde.rs (limited to 'src/serde.rs') diff --git a/src/serde.rs b/src/serde.rs new file mode 100644 index 0000000..9049d64 --- /dev/null +++ b/src/serde.rs @@ -0,0 +1,22 @@ +use chrono::NaiveDateTime; +use serde::{Deserialize, Deserializer}; + + +pub fn naive_read_unixtime<'de, D>(d: D) -> Result +where + D: Deserializer<'de>, +{ + let ts = ::deserialize(d)?; + Ok(NaiveDateTime::from_timestamp(ts, 0)) +} + +pub fn option_naive_read_unixtime<'de, D>(d: D) -> Result, D::Error> +where + D: Deserializer<'de>, +{ + match ::deserialize(d) { + Ok(ts) => + Ok(Some(NaiveDateTime::from_timestamp(ts, 0))), + Err(_) => Ok(None) + } +} -- cgit v1.2.3