diff options
author | Daniel Friesel <derf@finalrewind.org> | 2022-10-29 15:25:31 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2022-10-29 15:25:31 +0200 |
commit | 148cf58c871ae28cfe3b2bcd806375f43f7791e7 (patch) | |
tree | 43e39ea2b595c448babbec65d5f4533fb56b3a9c /lib/DBInfoscreen/Controller/Stationboard.pm | |
parent | daa8cc5a72bd10d732912595bf0ca2ad3bf167c4 (diff) |
Use HAFAS utilization directly
Diffstat (limited to 'lib/DBInfoscreen/Controller/Stationboard.pm')
-rw-r--r-- | lib/DBInfoscreen/Controller/Stationboard.pm | 35 |
1 files changed, 9 insertions, 26 deletions
diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm index de1f5e5..5a8c44e 100644 --- a/lib/DBInfoscreen/Controller/Stationboard.pm +++ b/lib/DBInfoscreen/Controller/Stationboard.pm @@ -568,15 +568,12 @@ sub render_train { $self->render_later; my $wagonorder_req = Mojo::Promise->new; - my $utilization_req = Mojo::Promise->new; my $occupancy_req = Mojo::Promise->new; my $stationinfo_req = Mojo::Promise->new; my $route_req = Mojo::Promise->new; - my @requests = ( - $wagonorder_req, $utilization_req, $occupancy_req, - $stationinfo_req, $route_req - ); + my @requests + = ( $wagonorder_req, $occupancy_req, $stationinfo_req, $route_req ); if ( $departure->{wr_link} ) { $self->wagonorder->is_available_p( $result, $departure->{wr_link} ) @@ -595,30 +592,9 @@ sub render_train { return; } )->wait; - - # Looks like utilization data is only available for long-distance trains - # – and the few regional trains which also have wagon order data (e.g. - # around Stuttgart). Funky. - $self->marudor->get_train_utilization( train => $result )->then( - sub { - my ( $first, $second ) = @_; - $departure->{utilization} = [ $first, $second ]; - return; - }, - sub { - $departure->{utilization} = undef; - return; - } - )->finally( - sub { - $utilization_req->resolve; - return; - } - )->wait; } else { $wagonorder_req->resolve; - $utilization_req->resolve; } $self->marudor->get_efa_occupancy( @@ -702,6 +678,13 @@ sub render_train { $departure->{trip_id} = $journey->id; + if ( my $load = $route_ts->{$station_name}{load} ) { + if ( %{$load} ) { + $departure->{utilization} + = [ $load->{FIRST}, $load->{SECOND} ]; + } + } + # If a train number changes on the way, IRIS routes are incomplete, # whereas HAFAS data has all stops -> merge HAFAS stops into IRIS # stops. This is a rare case, one point where it can be observed is |