Unverified Commit 4dbbedaf authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Move EFA code to separate helper class

parent 6b5d0f8b
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -7,8 +7,8 @@ package DBInfoscreen;
use Mojo::Base 'Mojolicious';

use Cache::File;
use DBInfoscreen::Helper::EFA;
use DBInfoscreen::Helper::HAFAS;
use DBInfoscreen::Helper::Marudor;
use DBInfoscreen::Helper::Wagonorder;
use File::Slurp qw(read_file);
use JSON;
@@ -125,9 +125,9 @@ sub startup {
	);

	$self->helper(
		hafas => sub {
		efa => sub {
			my ($self) = @_;
			state $hafas = DBInfoscreen::Helper::HAFAS->new(
			state $efa = DBInfoscreen::Helper::EFA->new(
				log            => $self->app->log,
				main_cache     => $self->app->cache_iris_main,
				realtime_cache => $self->app->cache_iris_rt,
@@ -139,9 +139,9 @@ sub startup {
	);

	$self->helper(
		marudor => sub {
		hafas => sub {
			my ($self) = @_;
			state $hafas = DBInfoscreen::Helper::Marudor->new(
			state $hafas = DBInfoscreen::Helper::HAFAS->new(
				log            => $self->app->log,
				main_cache     => $self->app->cache_iris_main,
				realtime_cache => $self->app->cache_iris_rt,
+1 −1
Original line number Diff line number Diff line
@@ -597,7 +597,7 @@ sub render_train {
		$wagonorder_req->resolve;
	}

	$self->marudor->get_efa_occupancy(
	$self->efa->get_efa_occupancy(
		eva      => $result->station_uic,
		train_no => $result->train_no
	)->then(
+6 −6
Original line number Diff line number Diff line
package DBInfoscreen::Helper::Marudor;
package DBInfoscreen::Helper::EFA;

# Copyright (C) 2020 Daniel Friesel
# Copyright (C) 2020-2022 Daniel Friesel
#
# SPDX-License-Identifier: AGPL-3.0-or-later

@@ -35,7 +35,7 @@ sub get_json_p {
	my $promise = Mojo::Promise->new;

	if ( my $content = $cache->thaw($url) ) {
		$self->{log}->debug("marudor->get_json_p($url): cached");
		$self->{log}->debug("efa->get_json_p($url): cached");
		if ( $content->{error} ) {
			return $promise->reject( $content->{error} );
		}
@@ -49,7 +49,7 @@ sub get_json_p {

			if ( my $err = $tx->error ) {
				$self->{log}->debug(
"marudor->get_json_p($url): HTTP $err->{code} $err->{message}"
"efa->get_json_p($url): HTTP $err->{code} $err->{message}"
				);
				$cache->freeze( $url, { error => $err->{message} } );
				$promise->reject(
@@ -61,7 +61,7 @@ sub get_json_p {

			if ( not $res ) {
				$self->{log}
				  ->debug("marudor->get_json_p($url): empty response");
				  ->debug("efa->get_json_p($url): empty response");
				$promise->reject("GET $url returned empty response");
				return;
			}
@@ -75,7 +75,7 @@ sub get_json_p {
	)->catch(
		sub {
			my ($err) = @_;
			$self->{log}->debug("marudor->get_json_p($url): $err");
			$self->{log}->debug("efa->get_json_p($url): $err");
			$cache->freeze( $url, { error => $err } );
			$promise->reject($err);
			return;
+1 −1
Original line number Diff line number Diff line
package DBInfoscreen::Helper::HAFAS;

# Copyright (C) 2011-2020 Daniel Friesel
# Copyright (C) 2011-2022 Daniel Friesel
#
# SPDX-License-Identifier: AGPL-3.0-or-later