From 9e346af2010f96ddc95ac6114f06b8561340250d Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Sun, 22 Jun 2025 13:00:24 +0200 Subject: add_intransit: allow users to specify timestamps for intermediate stops --- lib/Travelynx/Controller/Traveling.pm | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'lib/Travelynx/Controller/Traveling.pm') diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index cf33175..2748da3 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -2711,18 +2711,27 @@ sub add_intransit_form { if ( $trip{route} ) { my @unknown_stations; for my $station ( @{ $trip{route} } ) { + my $ts; + my %station_data; + if ( $station + =~ m{ ^ (? [^@]+? ) \s* [@] \s* (? .+ ) $ }x + ) + { + $station = $+{stop}; + $ts = $parser->parse_datetime( $+{timestamp} ); + $station_data{sched_arr} = $ts->epoch; + $station_data{sched_dep} = $ts->epoch; + } my $station_info = $self->stations->search( $station, backend_id => $opt{backend_id} ); + $station_data{lat} = $station_info->{lat}; + $station_data{lon} = $station_info->{lon}; if ($station_info) { push( @route, [ - $station_info->{name}, - $station_info->{eva}, - { - lat => $station_info->{lat}, - lon => $station_info->{lon}, - } + $station_info->{name}, $station_info->{eva}, + \%station_data, ] ); } -- cgit v1.2.3