From 358dd887d7e3f5a7ada7a95e9b279250dad22e2b Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 23 Jan 2016 10:52:30 +0100 Subject: Handle ALL^wmost of the errors! --- index.pl | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) (limited to 'index.pl') diff --git a/index.pl b/index.pl index 2795d7f..b22197e 100644 --- a/index.pl +++ b/index.pl @@ -71,19 +71,31 @@ sub get_results_for { = Travel::Status::DE::IRIS::Stations::get_station($station); if ( @station_matches == 1 ) { $station = $station_matches[0][0]; + my $status = Travel::Status::DE::IRIS->new( + station => $station, + main_cache => $cache_iris_main, + realtime_cache => $cache_iris_rt, + %opt + ); + $data = { + results => [ $status->results ], + errstr => $status->errstr, + station_name => + ( $status->station ? $status->station->{name} : $station ), + }; + } + elsif ( @station_matches > 1 ) { + $data = { + results => [], + errstr => 'Ambiguous station name', + }; + } + else { + $data = { + results => [], + errstr => 'Unknown station name', + }; } - - my $status = Travel::Status::DE::IRIS->new( - station => $station, - main_cache => $cache_iris_main, - realtime_cache => $cache_iris_rt, - %opt - ); - $data = { - results => [ $status->results ], - errstr => $status->errstr, - station_name => $status->station->{name}, - }; } elsif ( $backend eq 'ris' ) { $data = $cache_hafas->thaw($cache_str); -- cgit v1.2.3