From e30c2f3be1e05b4afa8842f256a6ada7b9abb60e Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Sun, 3 Sep 2023 00:41:52 +0200 Subject: Journey: Handle missing leading 0 in date strings. Because of course it is missing, because the date string is treated as a number by the magical API of the data lake, because why wouldn't it be. --- lib/Travel/Status/DE/HAFAS/Journey.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/Travel/Status/DE/HAFAS/Journey.pm') diff --git a/lib/Travel/Status/DE/HAFAS/Journey.pm b/lib/Travel/Status/DE/HAFAS/Journey.pm index d9c1be1..b849cb3 100644 --- a/lib/Travel/Status/DE/HAFAS/Journey.pm +++ b/lib/Travel/Status/DE/HAFAS/Journey.pm @@ -89,7 +89,13 @@ sub new { } } - my $date_ref = ( split( qr{[|]}, $jid ) )[4]; + 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 = DateTime::Format::Strptime->new( pattern => '%d%m%Y', time_zone => 'Europe/Berlin' -- cgit v1.2.3