diff options
-rwxr-xr-x | bin/efa-m | 9 | ||||
-rw-r--r-- | lib/Travel/Status/DE/EFA.pm | 29 |
2 files changed, 38 insertions, 0 deletions
@@ -290,6 +290,15 @@ sub show_results { $delay_fmt = $delay_len + 3; } + if ( scalar $efa->stops > 1 ) { + for my $stop ( $efa->stops ) { + say $stop->full_name; + } + } + else { + say $efa->stop_name; + } + for my $d ( $efa->results ) { my @output_line; diff --git a/lib/Travel/Status/DE/EFA.pm b/lib/Travel/Status/DE/EFA.pm index ab029df..8774d59 100644 --- a/lib/Travel/Status/DE/EFA.pm +++ b/lib/Travel/Status/DE/EFA.pm @@ -346,6 +346,35 @@ sub check_for_ambiguous { return; } +sub stop_name { + my ($self) = @_; + + return $self->{response}{dm}{points}{point}{name}; +} + +sub stops { + my ($self) = @_; + + if ( $self->{stops} ) { + return @{ $self->{stops} }; + } + + my @stops; + for my $stop ( @{ $self->{response}{dm}{itdOdvAssignedStops} // [] } ) { + push( + @stops, + Travel::Status::DE::EFA::Stop->new( + place => $stop->{place}, + name => $stop->{name}, + full_name => $stop->{nameWithPlace}, + ) + ); + } + + $self->{stops} = \@stops; + return @stops; +} + sub lines { my ($self) = @_; |