Journeys->add: Support complete routes, not just intermediate stops
This commit is contained in:
parent
21edf4a406
commit
255d0610f1
1 changed files with 19 additions and 9 deletions
|
@ -130,7 +130,23 @@ sub add {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
my @route = ( [ $dep_station->[1], {}, undef ] );
|
my $route_has_start = 0;
|
||||||
|
my $route_has_stop = 0;
|
||||||
|
|
||||||
|
for my $station ( @{ $opt{route} || [] } ) {
|
||||||
|
if ( $station eq $dep_station->[1] or $station eq $dep_station->[0] ) {
|
||||||
|
$route_has_start = 1;
|
||||||
|
}
|
||||||
|
if ( $station eq $arr_station->[1] or $station eq $arr_station->[0] ) {
|
||||||
|
$route_has_stop = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
my @route;
|
||||||
|
|
||||||
|
if ( not $route_has_start ) {
|
||||||
|
push( @route, [ $dep_station->[1], {}, undef ] );
|
||||||
|
}
|
||||||
|
|
||||||
if ( $opt{route} ) {
|
if ( $opt{route} ) {
|
||||||
my @unknown_stations;
|
my @unknown_stations;
|
||||||
|
@ -158,14 +174,8 @@ sub add {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
push( @route, [ $arr_station->[1], {}, undef ] );
|
if ( not $route_has_stop ) {
|
||||||
|
push( @route, [ $arr_station->[1], {}, undef ] );
|
||||||
if ( $route[0][0] eq $route[1][0] ) {
|
|
||||||
shift(@route);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( $route[-2][0] eq $route[-1][0] ) {
|
|
||||||
pop(@route);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
my $entry = {
|
my $entry = {
|
||||||
|
|
Loading…
Reference in a new issue