diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Travel/Status/DE/DBWagenreihung.pm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/Travel/Status/DE/DBWagenreihung.pm b/lib/Travel/Status/DE/DBWagenreihung.pm index 7bba010..1f3c440 100644 --- a/lib/Travel/Status/DE/DBWagenreihung.pm +++ b/lib/Travel/Status/DE/DBWagenreihung.pm @@ -121,13 +121,21 @@ sub destinations { } my @destinations; + my %section; for my $group ( @{ $self->{data}{istformation}{allFahrzeuggruppe} } ) { - push( @destinations, $group->{zielbetriebsstellename} ); + my $destination = $group->{zielbetriebsstellename}; + my @sections = map { $_->{fahrzeugsektor} } @{ $group->{allFahrzeug} }; + @sections = uniq @sections; + push( @{ $section{$destination} }, @sections ); + push( @destinations, $destination ); } @destinations = uniq @destinations; + @destinations + = map { { name => $_, sections => $section{$_} } } @destinations; + $self->{destinations} = \@destinations; return @destinations; |