summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Travel/Status/DE/DeutscheBahn.pm5
-rw-r--r--lib/Travel/Status/DE/DeutscheBahn/Result.pm25
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