Loading bin/hafas-m +32 −21 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ use Encode qw(decode); use JSON; use Getopt::Long qw(:config no_ignore_case); use List::MoreUtils qw(uniq); use List::Util qw(any first max); use List::Util qw(first max); use Travel::Status::DE::HAFAS; my ( $date, $time, $language ); Loading Loading @@ -205,15 +205,15 @@ sub journey_has_via { if ( $via =~ m{ ^ [0-9,]+ $ }x ) { for my $eva ( split( qr{,}, $via ) ) { if ( any { $_->loc->eva == $eva } $journey->route ) { return 1; if ( my $stop = first { $_->loc->eva == $eva } $journey->route ) { return $stop; } } return; } if ( any { $_->loc->name =~ m{$via}io } $journey->route ) { return 1; if ( my $stop = first { $_->loc->name =~ m{$via}io } $journey->route ) { return $stop; } return; } Loading Loading @@ -493,9 +493,7 @@ for my $d (@results) { . $info_line; } push( @output, [ my $entry = [ $d->is_cancelled ? '--:--' : $d->datetime->strftime('%H:%M'), $d->is_cancelled ? q{} Loading @@ -505,10 +503,23 @@ for my $d (@results) { ( $d->platform // q{} ) . ( $d->is_changed_platform ? ' !' : q{} ), $info_line, $d ] ]; if ($via) { my $stop = journey_has_via( $d, $via ); # HAFAS does not provide real-time data for route entries, so we have to guesstimate the arrival time $entry->[0] .= ' → ' . ( $stop->arr_cancelled ? '--:--' : $stop->arr->add( minutes => $d->delay // 0 )->strftime('%H:%M') ); } push( @output, $entry, ); } display_result(@output); for my $m ( $status->messages ) { Loading Loading
bin/hafas-m +32 −21 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ use Encode qw(decode); use JSON; use Getopt::Long qw(:config no_ignore_case); use List::MoreUtils qw(uniq); use List::Util qw(any first max); use List::Util qw(first max); use Travel::Status::DE::HAFAS; my ( $date, $time, $language ); Loading Loading @@ -205,15 +205,15 @@ sub journey_has_via { if ( $via =~ m{ ^ [0-9,]+ $ }x ) { for my $eva ( split( qr{,}, $via ) ) { if ( any { $_->loc->eva == $eva } $journey->route ) { return 1; if ( my $stop = first { $_->loc->eva == $eva } $journey->route ) { return $stop; } } return; } if ( any { $_->loc->name =~ m{$via}io } $journey->route ) { return 1; if ( my $stop = first { $_->loc->name =~ m{$via}io } $journey->route ) { return $stop; } return; } Loading Loading @@ -493,9 +493,7 @@ for my $d (@results) { . $info_line; } push( @output, [ my $entry = [ $d->is_cancelled ? '--:--' : $d->datetime->strftime('%H:%M'), $d->is_cancelled ? q{} Loading @@ -505,10 +503,23 @@ for my $d (@results) { ( $d->platform // q{} ) . ( $d->is_changed_platform ? ' !' : q{} ), $info_line, $d ] ]; if ($via) { my $stop = journey_has_via( $d, $via ); # HAFAS does not provide real-time data for route entries, so we have to guesstimate the arrival time $entry->[0] .= ' → ' . ( $stop->arr_cancelled ? '--:--' : $stop->arr->add( minutes => $d->delay // 0 )->strftime('%H:%M') ); } push( @output, $entry, ); } display_result(@output); for my $m ( $status->messages ) { Loading