From 39746c144b1bcfccaaae1dc9534c3017c4814bf5 Mon Sep 17 00:00:00 2001
From: Daniel Friesel <daniel.friesel@uos.de>
Date: Tue, 31 Aug 2021 17:41:38 +0200
Subject: Increase default lookahead to three hours; respect
 $DBFAKEDISPLAY_LOOKAHEAD

---
 lib/DBInfoscreen.pm                         |  1 +
 lib/DBInfoscreen/Controller/Stationboard.pm | 13 +++++--------
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/lib/DBInfoscreen.pm b/lib/DBInfoscreen.pm
index cd97398..12da336 100644
--- a/lib/DBInfoscreen.pm
+++ b/lib/DBInfoscreen.pm
@@ -33,6 +33,7 @@ sub startup {
 			spare   => $ENV{DBFAKEDISPLAY_SPARE}   // 2,
 			workers => $ENV{DBFAKEDISPLAY_WORKERS} // 2,
 		},
+		lookahead  => $ENV{DBFAKEDISPLAY_LOOKAHEAD} // 180,
 		source_url => 'https://github.com/derf/db-fakedisplay',
 		issue_url  => 'https://github.com/derf/db-fakedisplay/issues',
 		version    => $ENV{DBFAKEDISPLAY_VERSION} // qx{git describe --dirty}
diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm
index 18fa100..3ff5a69 100644
--- a/lib/DBInfoscreen/Controller/Stationboard.pm
+++ b/lib/DBInfoscreen/Controller/Stationboard.pm
@@ -265,6 +265,7 @@ sub handle_request {
 	my %opt          = (
 		cache_iris_main => $self->app->cache_iris_main,
 		cache_iris_rt   => $self->app->cache_iris_rt,
+		lookahead       => $self->config->{lookahead}
 	);
 
 	my $api_version = $Travel::Status::DE::IRIS::VERSION;
@@ -315,21 +316,17 @@ sub handle_request {
 	$self->stash( input => $station );
 	$self->param( input => $station );
 
-	if ( $template eq 'json' ) {
-		$opt{lookahead} = 120;
-	}
-
 	if ($with_related) {
 		$opt{with_related} = 1;
 	}
 
 	if ( $self->param('train') ) {
 
-		# request results from five minutes ago to avoid train details suddenly
-		# becoming unavailable when its scheduled departure is reached.
+       # request results from twenty minutes ago to avoid train details suddenly
+       # becoming unavailable when its scheduled departure is reached.
 		$opt{datetime} = DateTime->now( time_zone => 'Europe/Berlin' )
 		  ->subtract( minutes => 20 );
-		$opt{lookahead} = 200;
+		$opt{lookahead} = $self->config->{lookahead} + 20;
 	}
 
 	my $data = get_results_for( $station, %opt );
@@ -816,7 +813,7 @@ sub station_train_details {
 
 	$opt{datetime} = DateTime->now( time_zone => 'Europe/Berlin' )
 	  ->subtract( minutes => 20 );
-	$opt{lookahead} = 200;
+	$opt{lookahead} = $self->config->{lookahead} + 20;
 
 	my $data   = get_results_for( $station, %opt );
 	my $errstr = $data->{errstr};
-- 
cgit v1.2.3