summaryrefslogtreecommitdiff
path: root/lib/Travel
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Travel')
-rw-r--r--lib/Travel/Status/DE/DBWagenreihung.pm10
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;