From 0ea5ed8c4864b7a670a346b03c839d0460abff1e Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Sun, 8 Oct 2023 12:30:14 +0200 Subject: only run cross-midnight code if affected timestamps are present --- lib/Travel/Status/DE/HAFAS/Journey.pm | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/Travel/Status/DE/HAFAS/Journey.pm b/lib/Travel/Status/DE/HAFAS/Journey.pm index f364ceb..5549934 100644 --- a/lib/Travel/Status/DE/HAFAS/Journey.pm +++ b/lib/Travel/Status/DE/HAFAS/Journey.pm @@ -89,17 +89,21 @@ sub new { } } - my $date_ref = ( split( qr{[|]}, $jid ) )[4]; - if ( length($date_ref) < 7 ) { - warn("HAFAS, not even once -- midnight crossing may be bogus"); - } - if ( length($date_ref) == 7 ) { - $date_ref = "0${date_ref}"; + my $datetime_ref; + + if ( @{ $journey->{stopL} // [] } or $journey->{stbStop} ) { + my $date_ref = ( split( qr{[|]}, $jid ) )[4]; + if ( length($date_ref) < 7 ) { + warn("HAFAS, not even once -- midnight crossing may be bogus"); + } + if ( length($date_ref) == 7 ) { + $date_ref = "0${date_ref}"; + } + $datetime_ref = DateTime::Format::Strptime->new( + pattern => '%d%m%Y', + time_zone => 'Europe/Berlin' + )->parse_datetime($date_ref); } - my $datetime_ref = DateTime::Format::Strptime->new( - pattern => '%d%m%Y', - time_zone => 'Europe/Berlin' - )->parse_datetime($date_ref); my $class = $product->{cls}; -- cgit v1.2.3