diff options
author | Daniel Friesel <derf@finalrewind.org> | 2015-05-27 08:35:32 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2015-05-27 08:35:32 +0200 |
commit | 843388f82ba323965e1bff926d785a60d45f5590 (patch) | |
tree | 70502c5657cd210f2b828f2d7d83e71b691cf731 | |
parent | 2cdd2e22c42385fd4ca2aa75569756ea17a601c4 (diff) |
return a delay of undef when no delay information is available
-rw-r--r-- | Changelog | 6 | ||||
-rw-r--r-- | lib/Travel/Status/DE/EFA.pm | 2 | ||||
-rw-r--r-- | lib/Travel/Status/DE/EFA/Result.pm | 4 | ||||
-rw-r--r-- | t/20-vrr.t | 2 |
4 files changed, 10 insertions, 4 deletions
@@ -1,3 +1,9 @@ +git HEAD + + * Result->delay: return undef when no data is available. This allows to + distinguish between on-time departures (delay 0) and departures without + realtime data (delay undef) + Travel::Status::DE::VRR 1.09 - Thu Apr 30 2015 * EFA: Fix crash when ->results is called after a network error occured diff --git a/lib/Travel/Status/DE/EFA.pm b/lib/Travel/Status/DE/EFA.pm index 4883ed0..4789ccc 100644 --- a/lib/Travel/Status/DE/EFA.pm +++ b/lib/Travel/Status/DE/EFA.pm @@ -336,7 +336,7 @@ sub results { my $info = $e_info->textContent; my $key = $e_line->getAttribute('key'); my $countdown = $e->getAttribute('countdown'); - my $delay = $e_info->getAttribute('delay') // 0; + my $delay = $e_info->getAttribute('delay'); my $type = $e_info->getAttribute('name'); my $platform_is_db = 0; diff --git a/lib/Travel/Status/DE/EFA/Result.pm b/lib/Travel/Status/DE/EFA/Result.pm index e0d6ad4..95e35cd 100644 --- a/lib/Travel/Status/DE/EFA/Result.pm +++ b/lib/Travel/Status/DE/EFA/Result.pm @@ -18,7 +18,7 @@ sub new { my $ref = \%conf; - if ( $ref->{delay} eq '-9999' ) { + if ( defined $ref->{delay} and $ref->{delay} eq '-9999' ) { $ref->{delay} = 0; $ref->{is_cancelled} = 1; } @@ -86,7 +86,7 @@ Actual departure date (DD.MM.YYYY). =item $departure->delay Expected delay from scheduled departure time in minutes. A delay of 0 -indicates either departure on time or that no delay information is available. +indicates departure on time. undef when no realtime information is available. =item $departure->destination @@ -43,7 +43,7 @@ is($results[3]->info, decode('UTF-8', 'Ab (H) Heißen Kirche, Umstieg in den SEV is($results[3]->line, '18', 'fourth result: line ok'); is($results[3]->date, '16.11.2011', 'fourth result: real date ok'); is($results[3]->time, '09:39', 'fourth result: real time ok'); -is($results[3]->delay, 0, 'fourth result: delay 0'); +is($results[3]->delay, undef, 'fourth result: delay undef'); is($results[3]->sched_date, '16.11.2011', 'fourth result: scheduled date ok'); is($results[3]->sched_time, '09:39', 'fourth result: scheduled time ok'); #is($results[3]->platform, '2', 'fourth result: platform ok'); |