From 9e6728a3e14fbe48b7e7aa1d7c0ae2d4e79f0ece Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Tue, 24 Jun 2025 19:53:18 +0200 Subject: Journeys->add: a little bit of sanity checking for route timestamps --- lib/Travelynx/Model/Journeys.pm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'lib/Travelynx/Model/Journeys.pm') diff --git a/lib/Travelynx/Model/Journeys.pm b/lib/Travelynx/Model/Journeys.pm index eef4309..30f3179 100755 --- a/lib/Travelynx/Model/Journeys.pm +++ b/lib/Travelynx/Model/Journeys.pm @@ -189,6 +189,7 @@ sub add { time_zone => 'Europe/Berlin' ); my @unknown_stations; + my $prev_epoch = 0; for my $station ( @{ $opt{route} } ) { my $ts; @@ -199,8 +200,15 @@ sub add { $station = $+{stop}; $ts = $parser->parse_datetime( $+{timestamp} ); if ($ts) { - $station_data{sched_arr} = $ts->epoch; - $station_data{sched_dep} = $ts->epoch; + my $epoch = $ts->epoch; + if ( $epoch <= $prev_epoch ) { + return ( undef, +'Zeitstempel der Unterwegshalte müssen streng monoton steigend sein (keine Zeitreisen und keine Portale)' + ); + } + $station_data{sched_arr} = $epoch; + $station_data{sched_dep} = $epoch; + $prev_epoch = $epoch; } } my $station_info = $self->{stations} -- cgit v1.2.3