summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/efa-m9
-rw-r--r--lib/Travel/Status/DE/EFA.pm29
2 files changed, 38 insertions, 0 deletions
diff --git a/bin/efa-m b/bin/efa-m
index 7530326..3664325 100755
--- a/bin/efa-m
+++ b/bin/efa-m
@@ -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) = @_;