summaryrefslogtreecommitdiff
path: root/lib/DBInfoscreen/Controller/Wagenreihung.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/DBInfoscreen/Controller/Wagenreihung.pm')
-rw-r--r--lib/DBInfoscreen/Controller/Wagenreihung.pm40
1 files changed, 22 insertions, 18 deletions
diff --git a/lib/DBInfoscreen/Controller/Wagenreihung.pm b/lib/DBInfoscreen/Controller/Wagenreihung.pm
index b9f0ee3..43a04f3 100644
--- a/lib/DBInfoscreen/Controller/Wagenreihung.pm
+++ b/lib/DBInfoscreen/Controller/Wagenreihung.pm
@@ -10,6 +10,7 @@ use Mojo::Util qw(b64_encode b64_decode);
use utf8;
+use DateTime;
use Travel::Status::DE::DBRIS::Formation;
sub handle_wagenreihung_error {
@@ -30,25 +31,27 @@ sub wagenreihung {
my ($self) = @_;
my $exit_side = $self->param('e');
- my $train_type = $self->param('category');
- my $train_no = $self->param('number');
- my $train = "${train_type} ${train_no}";
+ my $train_type = $self->param('tt');
+ my $train_no = $self->param('tn');
+ my $eva = $self->param('eva');
+ my $dt = DateTime->from_epoch(
+ epoch => $self->param('dt'),
+ time_zone => 'UTC'
+ );
+
+ my $train = "${train_type} ${train_no}";
$self->render_later;
- $self->wagonorder->get_p( param => $self->req->query_params->to_hash )
- ->then(
+ $self->dbris->get_wagonorder_p(
+ train_type => $train_type,
+ train_no => $train_no,
+ datetime => $dt,
+ eva => $eva,
+ )->then(
sub {
- my ($json) = @_;
- my $wr;
- eval {
- $wr
- = Travel::Status::DE::DBRIS::Formation->new( json => $json );
- };
- if ($@) {
- $self->handle_wagenreihung_error( $train, scalar $@ );
- return;
- }
+ my ($status) = @_;
+ my $wr = $status->result;
if ( $exit_side and $exit_side =~ m{^a} ) {
if ( $wr->sectors and defined $wr->direction ) {
@@ -172,10 +175,11 @@ sub wagenreihung {
wref => $wref,
exit_dir => $exit_dir,
hide_opts => 1,
- ts => $json->{ts},
+
+ #ts => $json->{ts},
);
}
- )->catch(
+ )->catch(
sub {
my ($err) = @_;
@@ -183,7 +187,7 @@ sub wagenreihung {
$err // "Unbekannter Fehler" );
return;
}
- )->wait;
+ )->wait;
}