Loading bin/hafas +47 −20 Original line number Diff line number Diff line Loading @@ -217,7 +217,9 @@ sub display_occupancies { my ($load) = @_; if ( $load and ( $load->{FIRST} or $load->{SECOND} ) ) { return sprintf("[%1s%1s]", display_occupancy($load->{FIRST}), display_occupancy($load->{SECOND})); return sprintf( "[%1s%1s]", display_occupancy( $load->{FIRST} ), display_occupancy( $load->{SECOND} ) ); } return q{ }; Loading Loading @@ -247,7 +249,11 @@ if ($json_output) { } for my $res ( @{ $hafas->{results} } ) { printf("# %02d:%02d %s\n", $res->duration->in_units('hours', 'minutes'), display_occupancies($res->load)); printf( "# %02d:%02d %s\n", $res->duration->in_units( 'hours', 'minutes' ), display_occupancies( $res->load ) ); for my $msg ( $res->messages ) { if ( $msg->short ) { printf( "# %s\n", $msg->short ); Loading @@ -265,14 +271,35 @@ for my $res (@{$hafas->{results}}) { for my $sec ( $res->sections ) { if ( $sec->type eq 'JNY' ) { printf("%-5s %-${have_delay}s ab %s\n", $sec->dep_datetime->strftime('%H:%M'), format_delay($sec->dep_delay), $sec->dep_loc->name); printf("%10s%${have_delay}s %s → %s\n", q{}, q{}, $sec->name, $sec->direction); printf("%-5s %-${have_delay}s an %s\n", $sec->arr_datetime->strftime('%H:%M'), format_delay($sec->arr_delay), $sec->arr_loc->name); printf( "%-5s %-${have_delay}s ab %s\n", $sec->dep_datetime->strftime('%H:%M'), format_delay( $sec->dep_delay ), $sec->dep_loc->name ); printf( "%10s%${have_delay}s %s → %s\n", q{}, q{}, $sec->name, $sec->direction ); printf( "%-5s %-${have_delay}s an %s\n", $sec->arr_datetime->strftime('%H:%M'), format_delay( $sec->arr_delay ), $sec->arr_loc->name ); } elsif ( $sec->type eq 'WALK' ) { printf("%-5s %-${have_delay}s ab %s\n", $sec->dep_datetime->strftime('%H:%M'), q{}, $sec->dep_loc->name); printf("%10s%${have_delay}s Fußweg %dm (%02d:%02d)\n", q{}, q{}, $sec->distance, $sec->duration->in_units('hours', 'minutes')); printf("%-5s %-${have_delay}s an %s\n", $sec->arr_datetime->strftime('%H:%M'), q{}, $sec->arr_loc->name); printf( "%-5s %-${have_delay}s ab %s\n", $sec->dep_datetime->strftime('%H:%M'), q{}, $sec->dep_loc->name ); printf( "%10s%${have_delay}s Fußweg %dm (%02d:%02d)\n", q{}, q{}, $sec->distance, $sec->duration->in_units( 'hours', 'minutes' ) ); printf( "%-5s %-${have_delay}s an %s\n", $sec->arr_datetime->strftime('%H:%M'), q{}, $sec->arr_loc->name ); } else { printf("\n???\n"); Loading Loading
bin/hafas +47 −20 Original line number Diff line number Diff line Loading @@ -217,7 +217,9 @@ sub display_occupancies { my ($load) = @_; if ( $load and ( $load->{FIRST} or $load->{SECOND} ) ) { return sprintf("[%1s%1s]", display_occupancy($load->{FIRST}), display_occupancy($load->{SECOND})); return sprintf( "[%1s%1s]", display_occupancy( $load->{FIRST} ), display_occupancy( $load->{SECOND} ) ); } return q{ }; Loading Loading @@ -247,7 +249,11 @@ if ($json_output) { } for my $res ( @{ $hafas->{results} } ) { printf("# %02d:%02d %s\n", $res->duration->in_units('hours', 'minutes'), display_occupancies($res->load)); printf( "# %02d:%02d %s\n", $res->duration->in_units( 'hours', 'minutes' ), display_occupancies( $res->load ) ); for my $msg ( $res->messages ) { if ( $msg->short ) { printf( "# %s\n", $msg->short ); Loading @@ -265,14 +271,35 @@ for my $res (@{$hafas->{results}}) { for my $sec ( $res->sections ) { if ( $sec->type eq 'JNY' ) { printf("%-5s %-${have_delay}s ab %s\n", $sec->dep_datetime->strftime('%H:%M'), format_delay($sec->dep_delay), $sec->dep_loc->name); printf("%10s%${have_delay}s %s → %s\n", q{}, q{}, $sec->name, $sec->direction); printf("%-5s %-${have_delay}s an %s\n", $sec->arr_datetime->strftime('%H:%M'), format_delay($sec->arr_delay), $sec->arr_loc->name); printf( "%-5s %-${have_delay}s ab %s\n", $sec->dep_datetime->strftime('%H:%M'), format_delay( $sec->dep_delay ), $sec->dep_loc->name ); printf( "%10s%${have_delay}s %s → %s\n", q{}, q{}, $sec->name, $sec->direction ); printf( "%-5s %-${have_delay}s an %s\n", $sec->arr_datetime->strftime('%H:%M'), format_delay( $sec->arr_delay ), $sec->arr_loc->name ); } elsif ( $sec->type eq 'WALK' ) { printf("%-5s %-${have_delay}s ab %s\n", $sec->dep_datetime->strftime('%H:%M'), q{}, $sec->dep_loc->name); printf("%10s%${have_delay}s Fußweg %dm (%02d:%02d)\n", q{}, q{}, $sec->distance, $sec->duration->in_units('hours', 'minutes')); printf("%-5s %-${have_delay}s an %s\n", $sec->arr_datetime->strftime('%H:%M'), q{}, $sec->arr_loc->name); printf( "%-5s %-${have_delay}s ab %s\n", $sec->dep_datetime->strftime('%H:%M'), q{}, $sec->dep_loc->name ); printf( "%10s%${have_delay}s Fußweg %dm (%02d:%02d)\n", q{}, q{}, $sec->distance, $sec->duration->in_units( 'hours', 'minutes' ) ); printf( "%-5s %-${have_delay}s an %s\n", $sec->arr_datetime->strftime('%H:%M'), q{}, $sec->arr_loc->name ); } else { printf("\n???\n"); Loading