Loading lib/DBInfoscreen/Controller/Stationboard.pm +1 −1 Original line number Diff line number Diff line Loading @@ -775,7 +775,7 @@ sub render_train { if ( $self->param('detailed') ) { my $cycle_req = Mojo::Promise->new; push( @requests, $cycle_req ); $self->wagonorder->has_umlauf_p( $result->train_no )->then( $self->wagonorder->has_cycle_p( $result->train_no )->then( sub { $departure->{has_cycle} = 1; } Loading lib/DBInfoscreen/Helper/Wagonorder.pm +12 −40 Original line number Diff line number Diff line Loading @@ -57,12 +57,11 @@ sub is_available_p { return $promise; } sub has_umlauf_p { my ( $self, $train_no ) = @_; sub head_dbdb_p { my ( $self, $url ) = @_; my $promise = Mojo::Promise->new; my $url = "https://lib.finalrewind.org/dbdb/db_umlauf/${train_no}.png"; my $cache = $self->{main_cache}; if ( my $content = $cache->get($url) ) { Loading Loading @@ -98,46 +97,19 @@ sub has_umlauf_p { return $promise; } sub check_wagonorder_p { my ( $self, $train_no, $wr_link ) = @_; my $promise = Mojo::Promise->new; my $url = "https://lib.finalrewind.org/dbdb/has_wagonorder/${train_no}/${wr_link}"; my $cache = $self->{main_cache}; sub has_cycle_p { my ( $self, $train_no ) = @_; if ( my $content = $cache->get($url) ) { if ( $content eq 'y' ) { return $promise->resolve; } else { return $promise->reject; } return $self->head_dbdb_p( "https://lib.finalrewind.org/dbdb/db_umlauf/${train_no}.png"); } $self->{user_agent}->request_timeout(5)->head_p( $url => $self->{header} ) ->then( sub { my ($tx) = @_; if ( $tx->result->is_success ) { $cache->set( $url, 'y' ); $promise->resolve; } else { $cache->set( $url, 'n' ); $promise->reject; } return; } )->catch( sub { $cache->set( $url, 'n' ); $promise->reject; return; } )->wait; return $promise; sub check_wagonorder_p { my ( $self, $train_no, $wr_link ) = @_; return $self->head_dbdb_p( "https://lib.finalrewind.org/dbdb/has_wagonorder/${train_no}/${wr_link}" ); } sub get_p { Loading templates/_train_details.html.ep +1 −1 Original line number Diff line number Diff line Loading @@ -229,7 +229,7 @@ </ul> <!-- mroute --> % } % if (param('detailed') and $departure->{has_cycle}) { <div><a href="https://lib.finalrewind.org/dbdb/db_umlauf/<%= $departure->{train_no} %>.png">Umlaufplan</a></div> <div class="db-attr"><a href="https://lib.finalrewind.org/dbdb/db_umlauf/<%= $departure->{train_no} %>.png">Umlaufplan</a></div> % } % if (param('detailed') and $details->{commonAttr}) { % if ($details->{attrVariants} and (not $details->{commonAttr}{vmax} or not $details->{commonAttr}{brakingPercentage})) { Loading Loading
lib/DBInfoscreen/Controller/Stationboard.pm +1 −1 Original line number Diff line number Diff line Loading @@ -775,7 +775,7 @@ sub render_train { if ( $self->param('detailed') ) { my $cycle_req = Mojo::Promise->new; push( @requests, $cycle_req ); $self->wagonorder->has_umlauf_p( $result->train_no )->then( $self->wagonorder->has_cycle_p( $result->train_no )->then( sub { $departure->{has_cycle} = 1; } Loading
lib/DBInfoscreen/Helper/Wagonorder.pm +12 −40 Original line number Diff line number Diff line Loading @@ -57,12 +57,11 @@ sub is_available_p { return $promise; } sub has_umlauf_p { my ( $self, $train_no ) = @_; sub head_dbdb_p { my ( $self, $url ) = @_; my $promise = Mojo::Promise->new; my $url = "https://lib.finalrewind.org/dbdb/db_umlauf/${train_no}.png"; my $cache = $self->{main_cache}; if ( my $content = $cache->get($url) ) { Loading Loading @@ -98,46 +97,19 @@ sub has_umlauf_p { return $promise; } sub check_wagonorder_p { my ( $self, $train_no, $wr_link ) = @_; my $promise = Mojo::Promise->new; my $url = "https://lib.finalrewind.org/dbdb/has_wagonorder/${train_no}/${wr_link}"; my $cache = $self->{main_cache}; sub has_cycle_p { my ( $self, $train_no ) = @_; if ( my $content = $cache->get($url) ) { if ( $content eq 'y' ) { return $promise->resolve; } else { return $promise->reject; } return $self->head_dbdb_p( "https://lib.finalrewind.org/dbdb/db_umlauf/${train_no}.png"); } $self->{user_agent}->request_timeout(5)->head_p( $url => $self->{header} ) ->then( sub { my ($tx) = @_; if ( $tx->result->is_success ) { $cache->set( $url, 'y' ); $promise->resolve; } else { $cache->set( $url, 'n' ); $promise->reject; } return; } )->catch( sub { $cache->set( $url, 'n' ); $promise->reject; return; } )->wait; return $promise; sub check_wagonorder_p { my ( $self, $train_no, $wr_link ) = @_; return $self->head_dbdb_p( "https://lib.finalrewind.org/dbdb/has_wagonorder/${train_no}/${wr_link}" ); } sub get_p { Loading
templates/_train_details.html.ep +1 −1 Original line number Diff line number Diff line Loading @@ -229,7 +229,7 @@ </ul> <!-- mroute --> % } % if (param('detailed') and $departure->{has_cycle}) { <div><a href="https://lib.finalrewind.org/dbdb/db_umlauf/<%= $departure->{train_no} %>.png">Umlaufplan</a></div> <div class="db-attr"><a href="https://lib.finalrewind.org/dbdb/db_umlauf/<%= $departure->{train_no} %>.png">Umlaufplan</a></div> % } % if (param('detailed') and $details->{commonAttr}) { % if ($details->{attrVariants} and (not $details->{commonAttr}{vmax} or not $details->{commonAttr}{brakingPercentage})) { Loading