diff options
Diffstat (limited to 'index.pl')
-rw-r--r-- | index.pl | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -79,6 +79,28 @@ sub handle_request { my @departures; my @results = get_results_for( $backend, $station ); + if ( not @results and $template eq 'json' ) { + if ( $backend eq 'iris' ) { + my @candidates = map { { code => $_->[0], name => $_->[1] } } + Travel::Status::DE::IRIS::Stations::get_station($station); + $self->render( + json => { + version => $VERSION, + error => 'ambiguous station code/name', + candidates => \@candidates, + } + ); + return; + } + $self->render( + json => { + version => $VERSION, + error => 'unknown station code/name', + } + ); + return; + } + if ( not @results ) { if ( $backend eq 'iris' ) { my @candidates = map { [ "$_->[1] ($_->[0])", $_->[0] ] } @@ -89,6 +111,7 @@ sub handle_request { stationlist => \@candidates, hide_opts => 0 ); + return; } } $self->render( |