Commit c6b1f38e authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Support ->lookbehind for delayed trains from previous hours

parent 281f5345
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
git HEAD

    * IRIS->new: Add optional argument lookbehind

Travel::Status::DE::IRIS 1.13 - Thu Jan 26 2017

    * Fix support for line numbers, remove manual line map workaround
+11 −4
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ sub new {
		iris_base      => $opt{iris_base}
		  // 'http://iris.noncd.db.de/iris-tts/timetable',
		lookahead  => $opt{lookahead}  // ( 4 * 60 ),
		lookbehind => $opt{lookbehind} // ( 0 * 60 ),
		main_cache => $opt{main_cache},
		rt_cache   => $opt{realtime_cache},
		serializable    => $opt{serializable},
@@ -67,6 +68,7 @@ sub new {
			datetime       => $self->{datetime},
			developer_mode => $self->{developer_mode},
			lookahead      => $self->{lookahead},
			lookbehind     => $self->{lookbehind},
			station        => $ref->{uic},
			main_cache     => $self->{main_cache},
			realtime_cache => $self->{rt_cache},
@@ -82,10 +84,15 @@ sub new {
	}

	my $dt_req = $self->{datetime}->clone;
	for ( 1 .. 3 ) {
	for ( 1 .. int( $self->{lookahead} / 60 ) ) {
		$self->get_timetable( $self->{station}{uic}, $dt_req );
		$dt_req->add( hours => 1 );
	}
	$dt_req = $self->{datetime}->clone;
	for ( 1 .. int( $self->{lookbehind} / 60 ) ) {
		$dt_req->subtract( hours => 1 );
		$self->get_timetable( $self->{station}{uic}, $dt_req );
	}

	$self->get_realtime;

+2 −1
Original line number Diff line number Diff line
@@ -21,7 +21,8 @@ my $status = Travel::Status::DE::IRIS->new(
		hour   => 20,
		minute => 1,
		time_zone => 'Europe/Berlin',
	)
	),
	lookahead => 3 * 60 + 59,
);

isa_ok( $status, 'Travel::Status::DE::IRIS' );
+2 −1
Original line number Diff line number Diff line
@@ -20,7 +20,8 @@ my $status = Travel::Status::DE::IRIS->new(
		hour      => 20,
		minute    => 1,
		time_zone => 'Europe/Berlin'
	)
	),
	lookahead => 3 * 60 + 59,
);

my @results = $status->results;