summaryrefslogtreecommitdiff
path: root/lib/DBInfoscreen.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/DBInfoscreen.pm')
-rw-r--r--lib/DBInfoscreen.pm37
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/DBInfoscreen.pm b/lib/DBInfoscreen.pm
index 548fce2..d83f58f 100644
--- a/lib/DBInfoscreen.pm
+++ b/lib/DBInfoscreen.pm
@@ -4,6 +4,7 @@ use Mojo::Base 'Mojolicious';
# Copyright (C) 2011-2019 Daniel Friesel <derf+dbf@finalrewind.org>
# License: 2-Clause BSD
+use Cache::File;
use Travel::Status::DE::HAFAS;
use Travel::Status::DE::HAFAS::StopFinder;
use Travel::Status::DE::IRIS::Stations;
@@ -23,6 +24,42 @@ my %default = (
sub startup {
my ($self) = @_;
+ $self->attr(
+ cache_hafas => sub {
+ my ($self) = @_;
+ return Cache::File->new(
+ cache_root => $ENV{DBFAKEDISPLAY_HAFAS_CACHE}
+ // '/tmp/dbf-hafas',
+ default_expires => '180 seconds',
+ lock_level => Cache::File::LOCK_LOCAL(),
+ );
+ }
+ );
+
+ $self->attr(
+ cache_iris_main => sub {
+ my ($self) = @_;
+ return Cache::File->new(
+ cache_root => $ENV{DBFAKEDISPLAY_IRIS_CACHE}
+ // '/tmp/dbf-iris-main',
+ default_expires => '6 hours',
+ lock_level => Cache::File::LOCK_LOCAL(),
+ );
+ }
+ );
+
+ $self->attr(
+ cache_iris_rt => sub {
+ my ($self) = @_;
+ return Cache::File->new(
+ cache_root => $ENV{DBFAKEDISPLAY_IRISRT_CACHE}
+ // '/tmp/dbf-iris-realtime',
+ default_expires => '70 seconds',
+ lock_level => Cache::File::LOCK_LOCAL(),
+ );
+ }
+ );
+
$self->helper(
'handle_no_results' => sub {
my ( $self, $backend, $station, $errstr ) = @_;