diff options
author | Daniel Friesel <derf@finalrewind.org> | 2020-09-06 11:15:19 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2020-09-06 11:15:19 +0200 |
commit | b2824fcfb9ef1fcd9b09d74c472aa783d6fe0db5 (patch) | |
tree | 06581073223bab6577987be420478c9393f35fb5 /lib/DBInfoscreen/Controller/Stationboard.pm | |
parent | 9bdae29a17e9342eb85db11d97935789492e7dc7 (diff) |
add wagonorder helper
Diffstat (limited to 'lib/DBInfoscreen/Controller/Stationboard.pm')
-rw-r--r-- | lib/DBInfoscreen/Controller/Stationboard.pm | 51 |
1 files changed, 3 insertions, 48 deletions
diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm index c1d952c..f8426c5 100644 --- a/lib/DBInfoscreen/Controller/Stationboard.pm +++ b/lib/DBInfoscreen/Controller/Stationboard.pm @@ -105,47 +105,6 @@ sub log_api_access { return; } -sub check_wagonorder_with_wings { - my ( $ua, $cache, $train, $wr_link ) = @_; - - if ( check_wagonorder( $ua, $cache, $train->train_no, $wr_link ) ) { - return 1; - } - elsif ( $train->is_wing ) { - my $wing = $train->wing_of; - if ( check_wagonorder( $ua, $cache, $wing->train_no, $wr_link ) ) { - return 1; - } - } - return; -} - -sub check_wagonorder { - my ( $ua, $cache, $train_no, $wr_link ) = @_; - - my $url - = "https://lib.finalrewind.org/dbdb/has_wagonorder/${train_no}/${wr_link}"; - - if ( my $content = $cache->get($url) ) { - return $content eq 'y' ? 1 : undef; - } - - $ua->request_timeout(2); - my $res = eval { $ua->head($url)->result }; - - if ($@) { - return; - } - if ( $res->is_error ) { - $cache->set( $url, 'n' ); - return; - } - else { - $cache->set( $url, 'y' ); - return 1; - } -} - sub get_results_for { my ( $backend, $station, %opt ) = @_; my $data; @@ -455,13 +414,9 @@ sub render_train { $departure->{trip_id} = $self->hafas->get_tripid($result); - if ( - $departure->{wr_link} - and not check_wagonorder_with_wings( - $self->ua, $self->app->cache_iris_main, - $result, $departure->{wr_link} - ) - ) + if ( $departure->{wr_link} + and + not $self->wagonorder->is_available( $result, $departure->{wr_link} ) ) { $departure->{wr_link} = undef; } |