summaryrefslogtreecommitdiff
path: root/lib/DBInfoscreen/Helper/Wagonorder.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/DBInfoscreen/Helper/Wagonorder.pm')
-rw-r--r--lib/DBInfoscreen/Helper/Wagonorder.pm87
1 files changed, 0 insertions, 87 deletions
diff --git a/lib/DBInfoscreen/Helper/Wagonorder.pm b/lib/DBInfoscreen/Helper/Wagonorder.pm
index 9981244..8ec1a06 100644
--- a/lib/DBInfoscreen/Helper/Wagonorder.pm
+++ b/lib/DBInfoscreen/Helper/Wagonorder.pm
@@ -25,93 +25,6 @@ sub new {
}
-sub get_p {
- my ( $self, %opt ) = @_;
-
- my %param;
-
- if ( $opt{param} ) {
- %param = %{ $opt{param} };
- delete $param{e};
- }
- else {
- my $datetime = $opt{datetime}->clone->set_time_zone('UTC');
- %param = (
- administrationId => 80,
- category => $opt{train_type},
- date => $datetime->strftime('%Y-%m-%d'),
- evaNumber => $opt{eva},
- number => $opt{train_number},
- time => $datetime->rfc3339 =~ s{(?=Z)}{.000}r
- );
- }
-
- my $url = sprintf( '%s?%s',
-'https://www.bahn.de/web/api/reisebegleitung/wagenreihung/vehicle-sequence',
- join( '&', map { $_ . '=' . $param{$_} } sort keys %param ) );
-
- my $promise = Mojo::Promise->new;
-
- if ( my $content = $self->{main_cache}->thaw($url) ) {
- $self->{log}->debug("wagonorder->get_p($url): cached");
- if ( $content->{error} ) {
- return $promise->reject(
-"GET $url: HTTP $content->{error}{code} $content->{error}{message} (cachd)"
- );
- }
- return $promise->resolve( $content, \%param );
- }
-
- if ( my $content = $self->{realtime_cache}->thaw($url) ) {
- $self->{log}->debug("wagonorder->get_p($url): cached");
- if ( $content->{error} ) {
- return $promise->reject(
-"GET $url: HTTP $content->{error}{code} $content->{error}{message} (cachd)"
- );
- }
- return $promise->resolve( $content, \%param );
- }
-
- $self->{user_agent}->request_timeout(10)->get_p( $url => $self->{header} )
- ->then(
- sub {
- my ($tx) = @_;
-
- if ( my $err = $tx->error ) {
- my $json = {
- error => {
- id => $err->{code},
- msg => $err->{message}
- }
- };
- $self->{log}->debug(
- "wagonorder->get_p($url): HTTP $err->{code} $err->{message}"
- );
- $self->{realtime_cache}->freeze( $url, $json );
- $promise->reject("GET $url: HTTP $err->{code} $err->{message}");
- return;
- }
-
- $self->{log}->debug("wagonorder->get_p($url): OK");
- my $json = $tx->res->json;
- $json->{ts} = DateTime->now( time_zone => 'Europe/Berlin' )
- ->strftime('%d.%m.%Y %H:%M');
-
- $self->{main_cache}->freeze( $url, $json );
- $promise->resolve( $json, \%param );
- return;
- }
- )->catch(
- sub {
- my ($err) = @_;
- $self->{log}->warn("wagonorder->get_p($url): $err");
- $promise->reject("GET $url: $err");
- return;
- }
- )->wait;
- return $promise;
-}
-
sub get_stationinfo_p {
my ( $self, $eva ) = @_;