From 7152cb55a726f86fd7451286c8302ec4cb137da8 Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Wed, 3 Apr 2024 14:44:59 +0200 Subject: show local time if it differs from backend time --- lib/DBInfoscreen/Helper/HAFAS.pm | 27 +++++++++++++++++++++++++++ templates/_train_details.html.ep | 6 ++++++ 2 files changed, 33 insertions(+) diff --git a/lib/DBInfoscreen/Helper/HAFAS.pm b/lib/DBInfoscreen/Helper/HAFAS.pm index 149bfc9..59d8c7b 100644 --- a/lib/DBInfoscreen/Helper/HAFAS.pm +++ b/lib/DBInfoscreen/Helper/HAFAS.pm @@ -119,6 +119,7 @@ sub get_route_p { dep_delay => $stop->dep_delay, arr_cancelled => $stop->arr_cancelled, dep_cancelled => $stop->dep_cancelled, + tz_offset => $stop->tz_offset, platform => $stop->platform, sched_platform => $stop->sched_platform, load => $stop->load, @@ -142,6 +143,32 @@ sub get_route_p { $station_is_past = 0; } $ret[-1]{isPast} = $station_is_past; + if ( $stop->tz_offset ) { + if ( $stop->sched_arr ) { + $ret[-1]{local_sched_arr} + = $stop->sched_arr->clone->add( + minutes => $stop->tz_offset ); + } + if ( $stop->sched_dep ) { + $ret[-1]{local_sched_dep} + = $stop->sched_dep->clone->add( + minutes => $stop->tz_offset ); + } + if ( $stop->rt_arr ) { + $ret[-1]{local_rt_arr} = $stop->rt_arr->clone->add( + minutes => $stop->tz_offset ); + } + if ( $stop->rt_dep ) { + $ret[-1]{local_rt_dep} = $stop->rt_dep->clone->add( + minutes => $stop->tz_offset ); + } + $ret[-1]{local_dt_ad} = $ret[-1]{local_rt_arr} + // $ret[-1]{local_sched_arr} // $ret[-1]{local_rt_dep} + // $ret[-1]{local_sched_dep}; + $ret[-1]{local_dt_da} = $ret[-1]{local_rt_dep} + // $ret[-1]{local_sched_dep} // $ret[-1]{local_rt_arr} + // $ret[-1]{local_sched_arr}; + } } $promise->resolve( \@ret, $journey, $hafas ); diff --git a/templates/_train_details.html.ep b/templates/_train_details.html.ep index 9d7241f..1437449 100644 --- a/templates/_train_details.html.ep +++ b/templates/_train_details.html.ep @@ -259,6 +259,9 @@ % if ($stop->{rt_bogus}) { gps_off % } +% } +% if ($stop->{tz_offset} and $stop->{local_dt_da}) { + (lokal <%= $stop->{local_dt_da}->strftime('%H:%M') %>) % } <%= $stop->{name} %> % if ($stop->{load}{FIRST} or $stop->{load}{SECOND}) { @@ -311,6 +314,9 @@ % if ($stop->{rt_bogus}) { gps_off % } +% } +% if ($stop->{tz_offset} and $stop->{local_dt_ad}) { + (lokal <%= $stop->{local_dt_ad}->strftime('%H:%M') %>) % } <%= $stop->{name} %> % if ($stop->{load}{FIRST} or $stop->{load}{SECOND}) { -- cgit v1.2.3