From aa9e55128f287b2e264df22997ec282b13f16fbe Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 27 Mar 2021 13:27:15 +0100 Subject: request EFA occupancy data (works for some VRR trains) --- lib/DBInfoscreen/Helper/Marudor.pm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'lib/DBInfoscreen/Helper/Marudor.pm') diff --git a/lib/DBInfoscreen/Helper/Marudor.pm b/lib/DBInfoscreen/Helper/Marudor.pm index dad9dc7..dce22cf 100644 --- a/lib/DBInfoscreen/Helper/Marudor.pm +++ b/lib/DBInfoscreen/Helper/Marudor.pm @@ -80,6 +80,35 @@ sub get_json_p { return $promise; } +sub get_efa_occupancy { + my ( $self, %opt ) = @_; + + my $eva = $opt{eva}; + my $train_no = $opt{train_no}; + my $promise = Mojo::Promise->new; + + $self->get_json_p( $self->{realtime_cache}, + "https://vrrf.finalrewind.org/_eva/${eva}.json" )->then( + sub { + my ($utilization_json) = @_; + + if ( $utilization_json->{$train_no}{occupancy} ) { + $promise->resolve( $utilization_json->{$train_no}{occupancy} ); + return; + } + $promise->reject; + return; + } + )->catch( + sub { + $promise->reject; + return; + } + )->wait; + + return $promise; +} + sub get_train_utilization { my ( $self, %opt ) = @_; -- cgit v1.2.3