summaryrefslogtreecommitdiff
path: root/lib/Travelynx/Helper
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2025-10-29 20:18:58 +0100
committerBirte Kristina Friesel <derf@finalrewind.org>2025-10-29 20:18:58 +0100
commit138dd87ab950f03fac193def46fdba7b0f5063fa (patch)
tree7dfb73e96e55ec83a3eb60b4c44f380299872a24 /lib/Travelynx/Helper
parentec60d908029688ea92948d9ef8b3e1a4d0529000 (diff)
Incorporate dbdb into travelynx
Diffstat (limited to 'lib/Travelynx/Helper')
-rw-r--r--lib/Travelynx/Helper/DBDB.pm76
1 files changed, 0 insertions, 76 deletions
diff --git a/lib/Travelynx/Helper/DBDB.pm b/lib/Travelynx/Helper/DBDB.pm
deleted file mode 100644
index 0db6950..0000000
--- a/lib/Travelynx/Helper/DBDB.pm
+++ /dev/null
@@ -1,76 +0,0 @@
-package Travelynx::Helper::DBDB;
-
-# Copyright (C) 2020-2023 Birte Kristina Friesel
-#
-# SPDX-License-Identifier: AGPL-3.0-or-later
-
-use strict;
-use warnings;
-use 5.020;
-
-use Encode qw(decode);
-use Mojo::Promise;
-use Mojo::UserAgent;
-use JSON;
-
-sub new {
- my ( $class, %opt ) = @_;
-
- my $version = $opt{version};
-
- $opt{header}
- = { 'User-Agent' =>
-"travelynx/${version} on $opt{root_url} +https://finalrewind.org/projects/travelynx"
- };
-
- return bless( \%opt, $class );
-
-}
-
-sub get_stationinfo_p {
- my ( $self, $eva ) = @_;
-
- my $url = "https://lib.finalrewind.org/dbdb/s/${eva}.json";
-
- my $cache = $self->{main_cache};
- my $promise = Mojo::Promise->new;
-
- if ( my $content = $cache->thaw($url) ) {
- $self->{log}->debug("get_stationinfo_p(${eva}): (cached)");
- return $promise->resolve($content);
- }
-
- $self->{user_agent}->request_timeout(5)
- ->get_p( $url => $self->{header} )
- ->then(
- sub {
- my ($tx) = @_;
-
- if ( my $err = $tx->error ) {
- $self->{log}->debug(
-"get_stationinfo_p(${eva}): HTTP $err->{code} $err->{message}"
- );
- $cache->freeze( $url, {} );
- $promise->reject("HTTP $err->{code} $err->{message}");
- return;
- }
-
- my $json = $tx->result->json;
- $self->{log}->debug("get_stationinfo_p(${eva}): success");
- $cache->freeze( $url, $json );
- $promise->resolve($json);
- return;
- }
- )->catch(
- sub {
- my ($err) = @_;
- $self->{log}->debug("get_stationinfo_p(${eva}): Error ${err}");
- $cache->freeze( $url, {} );
- $promise->reject($err);
- return;
- }
- )->wait;
- return $promise;
-}
-
-1;