Journeys->add: Support complete routes, not just intermediate stops

This commit is contained in:
Daniel Friesel 2021-06-21 17:54:09 +02:00
parent 21edf4a406
commit 255d0610f1

View file

@ -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 = {