diff options
-rwxr-xr-x | bin/efa | 5 | ||||
-rw-r--r-- | lib/Travel/Routing/DE/EFA/Route/Part.pm | 15 |
2 files changed, 19 insertions, 1 deletions
@@ -214,7 +214,10 @@ sub display_routes { sub display_connection { my ($c) = @_; - if ( $c->delay ) { + if ( $c->is_cancelled ) { + say '# FAHRT FĂ„LLT AUS'; + } + elsif ( $c->delay ) { printf( "# +%d, Plan: %s -> %s\n", $c->delay, $c->departure_stime, $c->arrival_stime ); } diff --git a/lib/Travel/Routing/DE/EFA/Route/Part.pm b/lib/Travel/Routing/DE/EFA/Route/Part.pm index cffe53d..c9ebfd9 100644 --- a/lib/Travel/Routing/DE/EFA/Route/Part.pm +++ b/lib/Travel/Routing/DE/EFA/Route/Part.pm @@ -82,6 +82,15 @@ sub footpath_parts { return; } +sub is_cancelled { + my ($self) = @_; + + if ( $self->{delay} and $self->{delay} eq '-9999' ) { + return 1; + } + return; +} + # DEPRECATED sub extra { my ($self) = @_; @@ -287,6 +296,12 @@ connection between two stops), so the B<footpath> accessors contain redundant information. Other values such as "BEFORE" may also be returned, but this is unknown at this point. +=item $part->is_cancelled + +Returns true if this part of the route has been cancelled (i.e., the entire +route is probably useless), false otherwise. For unknown reasons, EFA may +sometimes return routes which contain cancelled departures. + =item $part->regular_notes Remarks about the line serving this connaction part. Returns a list of |