traveldings stuff!

This commit is contained in:
Schrottkatze 2024-09-11 02:09:08 +02:00
parent 54a1e34fa6
commit b4dfef1d6d
Signed by: schrottkatze
SSH key fingerprint: SHA256:hXb3t1vINBFCiDCmhRABHX5ocdbLiKyCdKI4HK2Rbbc
5 changed files with 89 additions and 8 deletions

View file

@ -68,6 +68,7 @@ struct CurrentJourneyOutput {
progress: Option<f32>,
time_left: Option<i64>,
icon: String,
line: String,
// Invalid data received?
departure_err: bool,
@ -148,6 +149,7 @@ impl CurrentJourneyOutput {
progress,
time_left,
icon,
line: checkin.train.line_name.clone(),
departure_err,
departure_planned,
departure_real,

View file

@ -36,6 +36,8 @@ pub struct StopOverResource {
pub platform: Option<String>,
pub departure_platform_planned: Option<String>,
pub departure_platform_real: Option<String>,
pub arrival_platform_planned: Option<String>,
pub arrival_platform_real: Option<String>,
}
// ????
@ -57,9 +59,19 @@ pub enum StopJourneyPart {
}
impl StopOverResource {
pub fn get_time_data(&self, journey_part: StopJourneyPart) -> JsonableData {
let (time_planned, time_real) = match journey_part {
StopJourneyPart::Origin => (self.departure_planned, self.departure_real),
StopJourneyPart::Destination => (self.arrival_planned, self.arrival_real),
let (time_planned, time_real, platform_planned, platform_real) = match journey_part {
StopJourneyPart::Origin => (
self.departure_planned,
self.departure_real,
self.departure_platform_planned.clone(),
self.departure_platform_real.clone(),
),
StopJourneyPart::Destination => (
self.arrival_planned,
self.arrival_real,
self.arrival_platform_planned.clone(),
self.arrival_platform_real.clone(),
),
};
let time_err = time_planned == None;
@ -70,10 +82,9 @@ impl StopOverResource {
time_real: time_real.map(|ts| ts.timestamp()),
station: self.name.clone(),
ril100: self.ril_identifier.clone(),
platform_data_available: self.departure_platform_planned.is_none()
|| self.departure_platform_real.is_none(),
platform_planned: self.departure_platform_planned.clone(),
platform_real: self.departure_platform_real.clone(),
platform_data_available: platform_planned.is_some() || platform_real.is_some(),
platform_planned,
platform_real,
}
}
}