diff options
author | Daniel Friesel <derf@finalrewind.org> | 2022-11-09 19:28:48 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2022-11-09 19:28:48 +0100 |
commit | df74dd5cf97b73cfb6c63fd7399eb273c92f661f (patch) | |
tree | d4cc216d73e3c4cb0a5b88787f56fe74420bee72 | |
parent | 0a37788fef9883441721e8481099c1e49c4ee6d5 (diff) |
route: handle stops without real-time data
-rwxr-xr-x | lib/Travelynx.pm | 27 | ||||
-rw-r--r-- | templates/_checked_in.html.ep | 6 |
2 files changed, 22 insertions, 11 deletions
diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index 9121cd9..f6e47a3 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -1528,29 +1528,34 @@ sub startup { for my $station (@route_after) { if ( @{$station} > 1 ) { - # Note: $station->[1]{sched_arr} may already have been - # converted to a DateTime object in $station->[1] is - # $dep_info. This can happen when a station is present - # several times in a train's route, e.g. for Frankfurt - # Flughafen in some nightly connections. + # Note: $station->[1]{sched_arr} may already have been + # converted to a DateTime object. This can happen when a + # station is present several times in a train's route, e.g. + # for Frankfurt Flughafen in some nightly connections. my $times = $station->[1]; if ( $times->{sched_arr} and ref( $times->{sched_arr} ) ne 'DateTime' ) { $times->{sched_arr} = epoch_to_dt( $times->{sched_arr} ); - $times->{rt_arr} = epoch_to_dt( $times->{rt_arr} ); - $times->{rt_arr_countdown} - = $times->{rt_arr}->epoch - $epoch; + if ( $times->{rt_arr} ) { + $times->{rt_arr} + = epoch_to_dt( $times->{rt_arr} ); + $times->{rt_arr_countdown} + = $times->{rt_arr}->epoch - $epoch; + } } if ( $times->{sched_dep} and ref( $times->{sched_dep} ) ne 'DateTime' ) { $times->{sched_dep} = epoch_to_dt( $times->{sched_dep} ); - $times->{rt_dep} = epoch_to_dt( $times->{rt_dep} ); - $times->{rt_dep_countdown} - = $times->{rt_dep}->epoch - $epoch; + if ( $times->{rt_dep} ) { + $times->{rt_dep} + = epoch_to_dt( $times->{rt_dep} ); + $times->{rt_dep_countdown} + = $times->{rt_dep}->epoch - $epoch; + } } } } diff --git a/templates/_checked_in.html.ep b/templates/_checked_in.html.ep index dcf9ddc..2a6ac1d 100644 --- a/templates/_checked_in.html.ep +++ b/templates/_checked_in.html.ep @@ -225,6 +225,9 @@ % elsif ($station->[1]{rt_arr}) { <span><%= $station->[1]{rt_arr}->strftime('%H:%M') %></span> % } + % elsif ($station->[1]{sched_arr}) { + <span><%= $station->[1]{sched_arr}->strftime('%H:%M') %></span> + % } % elsif ($station->[2] and $station->[2] eq 'additional') { <span>Zusatzhalt</span> % } @@ -331,6 +334,9 @@ % elsif ($station->[1]{rt_arr}) { <span><%= $station->[1]{rt_arr}->strftime('%H:%M') %></span> % } + % elsif ($station->[1]{sched_arr}) { + <span><%= $station->[1]{sched_arr}->strftime('%H:%M') %></span> + % } % elsif ($station->[2] and $station->[2] eq 'additional') { <span>Zusatzhalt</span> % } |