Commit 91a31f67 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

DeutscheBahn/Result: Add delay accessor, remove info_raw

parent d0f1eccd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3,8 +3,8 @@ git HEAD
    [Travel::Status::DE::DeutscheBahn::Result]
    * The info accessor now strips the mostly useless "k.A." / "pünktlich"
      (train on time) text parts
    * Use the new info_raw accessor to get the old info results
    * Add (slightly experimental) route_interesting accessor
    * Add delay accessor

Travel::Status::DE::DeutscheBahn 0.03 - Wed Jul 13 2011

+1 −3
Original line number Diff line number Diff line
@@ -88,15 +88,13 @@ for my $d ( $status->results() ) {

	my @via;

	my $re_late = qr{ (?: ^ | , ) ca[.] \s \d+ \s Minuten \s sp.ter}ox;

	@via = $d->route;

	if ( $filter_via and not( first { $_ =~ m{$filter_via}io } @via ) ) {
		next;
	}

	if ( $ignore_late and $d->info =~ $re_late ) {
	if ( $ignore_late and $d->delay ) {
		next;
	}

+20 −7
Original line number Diff line number Diff line
@@ -38,6 +38,21 @@ sub info {
	return $info;
}

sub delay {
	my ($self) = @_;

	my $info = $self->info_raw;

	if ( $info =~ m{ p.nktlich }ox ) {
		return 0;
	}
	if ( $info =~ m{ ca[.] \s (?<delay> \d+ ) \s Minuten \s sp.ter }ox ) {
		return $+{delay};
	}

	return;
}

sub origin {
	my ($self) = @_;

@@ -156,16 +171,14 @@ either the train's destination or its origin station.

Convenience aliases for $result->route_end.

=item $result->info
=item $result->delay

Returns additional information, for instance in case the train is delayed. May
be an empty string if no (useful) information is available.
Returns the train's delay in steps of 5 minutes, or undef if it is unknown.

=item $result->info_raw
=item $result->info

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.
Returns additional information, for instance the reason why the train is
delayed. May be an empty string if no (useful) information is available.

=item $result->platform