diff options
author | Daniel Friesel <derf@finalrewind.org> | 2015-06-04 16:44:38 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2015-06-04 16:44:38 +0200 |
commit | 6ddf48b7f40ef7ad601c2fac579dc0a9dbad0bf1 (patch) | |
tree | d85ff557a9049852f0993df499962e2319a769c6 | |
parent | 98c8f19f1996ec3ef7b6bdf2f84a7f04e1982248 (diff) |
full-route: improve output
-rwxr-xr-x | bin/efa-m | 10 | ||||
-rw-r--r-- | lib/Travel/Status/DE/EFA.pm | 8 |
2 files changed, 17 insertions, 1 deletions
@@ -91,10 +91,18 @@ sub format_route { say "BUG"; next; } - if ( $stop->{arr_time} eq $stop->{dep_time} ) { + if ( not defined $stop->{arr_time} ) { $output .= sprintf( " %5s %40s %s\n", $stop->{dep_time}, $stop->{stop}, $stop->{platform}, ); } + elsif (not defined $stop->{dep_time}) { + $output .= sprintf( "%5s %40s %s\n", + $stop->{arr_time}, $stop->{stop}, $stop->{platform}, ); + } + elsif ( $stop->{arr_time} eq $stop->{dep_time} ) { + $output .= sprintf( " %5s %40s %s\n", + $stop->{dep_time}, $stop->{stop}, $stop->{platform}, ); + } else { $output .= sprintf( "%5s → %5s %40s %s\n", diff --git a/lib/Travel/Status/DE/EFA.pm b/lib/Travel/Status/DE/EFA.pm index 38a4fa8..06ff1c2 100644 --- a/lib/Travel/Status/DE/EFA.pm +++ b/lib/Travel/Status/DE/EFA.pm @@ -162,6 +162,10 @@ sub errstr { sub sprintf_date { my ($e) = @_; + if ($e->getAttribute('day') == -1) { + return undef; + } + return sprintf( '%02d.%02d.%d', $e->getAttribute('day'), $e->getAttribute('month'), @@ -172,6 +176,10 @@ sub sprintf_date { sub sprintf_time { my ($e) = @_; + if ($e->getAttribute('minute') == -1) { + return undef; + } + return sprintf( '%02d:%02d', $e->getAttribute('hour'), $e->getAttribute('minute'), |