diff options
author | Daniel Friesel <derf@finalrewind.org> | 2015-09-16 15:05:12 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2015-09-16 15:05:12 +0200 |
commit | be8fb91dbc4d494a27f96ca2c55eaca80a98b910 (patch) | |
tree | fa4a3956ffa0b0e35928d5c74c728352847ed999 | |
parent | 9a51e8630e8b4a2978b07e7cc859c85c3e703c2e (diff) |
HAFAS: error handling for get_(active_)service
-rw-r--r-- | lib/Travel/Status/DE/HAFAS.pm | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lib/Travel/Status/DE/HAFAS.pm b/lib/Travel/Status/DE/HAFAS.pm index 21b0684..26c68d6 100644 --- a/lib/Travel/Status/DE/HAFAS.pm +++ b/lib/Travel/Status/DE/HAFAS.pm @@ -345,7 +345,7 @@ sub get_services { sub get_service { my ($service) = @_; - if ( defined $service ) { + if ( defined $service and exists $hafas_instance{$service}) { return %{ $hafas_instance{$service} }; } return; @@ -354,7 +354,10 @@ sub get_service { sub get_active_service { my ($self) = @_; - return %{ $hafas_instance{ $self->{active_service} } }; + if (defined $self->{active_service}) { + return %{ $hafas_instance{ $self->{active_service} } }; + } + return; } 1; @@ -504,10 +507,11 @@ on the return value. =item $status->get_active_service -Returns a hash describing the active service. Contains the keys -B<url> (URL to the station board service), B<stopfinder> (URL to the -stopfinder service, if supported), B<name>, and B<productbits> -(arrayref describing the supported modes of transport, may contain duplicates). +Returns a hash describing the active service when a service is active and +nothing otherwise. The hash contains the keys B<url> (URL to the station board +service), B<stopfinder> (URL to the stopfinder service, if supported), B<name>, +and B<productbits> (arrayref describing the supported modes of transport, may +contain duplicates). =item Travel::Status::DE::HAFAS::get_services() @@ -518,7 +522,8 @@ the constructor's B<service> parameter. =item Travel::Status::DE::HAFAS::get_service(I<$service>) -Returns a hash describing the service I<$service>. See +Returns a hash describing the service I<$service>. Returns nothing +if I<$service> is not supported. See B<get_active_service> for the hash layout. =back |