diff options
author | Daniel Friesel <derf@finalrewind.org> | 2011-07-13 13:13:24 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2011-07-13 13:13:24 +0200 |
commit | 10687196f1f39d01c17a415898758b3a65608396 (patch) | |
tree | 8b5a96f84880afb090e0910daaf81f6c1e5b08b8 /lib/Travel/Status | |
parent | d463bbcd8475dd0261fb28efcc7b4b6d079a27a1 (diff) |
DeutscheBahn/Result: Return only useful text in info, add info_raw for the raw string
Diffstat (limited to 'lib/Travel/Status')
-rw-r--r-- | lib/Travel/Status/DE/DeutscheBahn.pm | 5 | ||||
-rw-r--r-- | lib/Travel/Status/DE/DeutscheBahn/Result.pm | 25 |
2 files changed, 23 insertions, 7 deletions
diff --git a/lib/Travel/Status/DE/DeutscheBahn.pm b/lib/Travel/Status/DE/DeutscheBahn.pm index 8919dfc..9f71eb0 100644 --- a/lib/Travel/Status/DE/DeutscheBahn.pm +++ b/lib/Travel/Status/DE/DeutscheBahn.pm @@ -142,9 +142,6 @@ sub results { $str =~ s/ +$//; } - $info =~ s{ ,Grund }{}ox; - $info =~ s{ ^ \s+ }{}ox; - while ( $route =~ m{$re_via}g ) { if ($first) { $first = 0; @@ -168,7 +165,7 @@ sub results { route => \@via, route_end => $dest, platform => $platform, - info => $info, + info_raw => $info, ) ); } diff --git a/lib/Travel/Status/DE/DeutscheBahn/Result.pm b/lib/Travel/Status/DE/DeutscheBahn/Result.pm index 969658d..660abc5 100644 --- a/lib/Travel/Status/DE/DeutscheBahn/Result.pm +++ b/lib/Travel/Status/DE/DeutscheBahn/Result.pm @@ -9,7 +9,7 @@ use parent 'Class::Accessor'; our $VERSION = '0.03'; Travel::Status::DE::DeutscheBahn::Result->mk_ro_accessors( - qw(time train route_end route_raw platform info)); + qw(time train route_end route_raw platform info_raw)); sub new { my ( $obj, %conf ) = @_; @@ -25,6 +25,19 @@ sub destination { return $self->{route_end}; } +sub info { + my ($self) = @_; + + my $info = $self->info_raw; + + $info =~ s{ ,Grund }{}ox; + $info =~ s{ ^ \s+ }{}ox; + $info =~ s{ (?: ^ | , ) (?: p.nktlich | k [.] A [.] ) }{}ox; + $info =~ s{ ^ , }{}ox; + + return $info; +} + sub origin { my ($self) = @_; @@ -99,8 +112,14 @@ Convenience aliases for $result->route_end. =item $result->info -Returns additional information, usually wether the train is on time or -delayed. +Returns additional information, for instance in case the train is delayed. May +be an empty string if no (useful) information is available. + +=item $result->info_raw + +Returns the raw info string. B<info> only tells you about delays, platform +changes and such, B<info_raw> also explicitly states wether a train is on time +or no information is available. =item $result->platform |