From ef58e86cd740064057186f9a5732f6a62b68bcf1 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 11 Jan 2014 22:50:11 +0100 Subject: db-iris: implement -om --- lib/Travel/Status/DE/IRIS/Result.pm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'lib') diff --git a/lib/Travel/Status/DE/IRIS/Result.pm b/lib/Travel/Status/DE/IRIS/Result.pm index 4eb3096..c3dd8aa 100644 --- a/lib/Travel/Status/DE/IRIS/Result.pm +++ b/lib/Travel/Status/DE/IRIS/Result.pm @@ -173,6 +173,22 @@ sub destination { return $self->route_end; } +sub messages { + my ($self) = @_; + + my $strp = DateTime::Format::Strptime->new( + pattern => '%y%m%d%H%M', + time_zone => 'Europe/Berlin', + ); + + my @messages = sort keys %{ $self->{messages } }; + my @ret = map { [ $strp->parse_datetime($self->{messages}->{$_}->[0]), + $self->translate_msg($self->{messages}->{$_}->[2]) ] } + @messages; + + return @ret; +} + sub info { my ($self) = @_; @@ -460,6 +476,14 @@ usually do not have this field set, even if they have a common line number Example: For the line C<< S 1 >>, line_no will return C<< 1 >>. +=item $result->messages + +Get all qos and delay messages ever entered for this train. Returns a list +of [datetime, string] listrefs. The datetime part is a DateTime(3pm) object +corresponding to the point in time when the message was entered, the string +is the message. Note that neither duplicates nor superseded messages are +filtered from this list. + =item $result->origin Alias for route_start. -- cgit v1.2.3