diff options
author | Daniel Friesel <derf@finalrewind.org> | 2021-01-03 09:34:55 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2021-01-03 09:34:55 +0100 |
commit | aa1a5ed571f6a87f512f8afa706160d1dd9800f8 (patch) | |
tree | 857b92ecebd244c1bb77a0189853304b9d2654bc /lib/DBInfoscreen/Controller | |
parent | 836cd8a39a2c6c64e3cd23239a18fe1c6ea8515c (diff) |
show "section A"-based wagon order if heuristic is unavailable3.9.4
Diffstat (limited to 'lib/DBInfoscreen/Controller')
-rw-r--r-- | lib/DBInfoscreen/Controller/Stationboard.pm | 9 | ||||
-rw-r--r-- | lib/DBInfoscreen/Controller/Wagenreihung.pm | 19 |
2 files changed, 26 insertions, 2 deletions
diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm index b951ed8..b591208 100644 --- a/lib/DBInfoscreen/Controller/Stationboard.pm +++ b/lib/DBInfoscreen/Controller/Stationboard.pm @@ -539,6 +539,9 @@ sub render_train { if ($direction) { $departure->{direction} = $direction; } + elsif ( $platform_info->{direction} ) { + $departure->{direction} = 'a' . $platform_info->{direction}; + } return; }, @@ -678,7 +681,8 @@ sub render_train { dt_now => DateTime->now( time_zone => 'Europe/Berlin' ), station_name => $station_name, nav_link => - $self->url_for( 'station', station => $station_name)->query({detailed => $self->param('detailed')}), + $self->url_for( 'station', station => $station_name ) + ->query( { detailed => $self->param('detailed') } ), ); } )->wait; @@ -1237,7 +1241,8 @@ sub handle_result { or $template eq 'multi' ), force_mobile => ( $template eq 'app' ), - nav_link => $self->url_for( 'station', station => $station_name)->query({detailed => $self->param('detailed')}), + nav_link => $self->url_for( 'station', station => $station_name ) + ->query( { detailed => $self->param('detailed') } ), ); } return; diff --git a/lib/DBInfoscreen/Controller/Wagenreihung.pm b/lib/DBInfoscreen/Controller/Wagenreihung.pm index 219212a..11fd084 100644 --- a/lib/DBInfoscreen/Controller/Wagenreihung.pm +++ b/lib/DBInfoscreen/Controller/Wagenreihung.pm @@ -107,6 +107,25 @@ sub wagenreihung { ); } + if ( $exit_side and $exit_side =~ m{^a} ) { + if ( $wr->sections and defined $wr->direction ) { + my $section_0 = ( $wr->sections )[0]; + my $direction = $wr->direction; + if ( $section_0->name eq 'A' and $direction == 0 ) { + $exit_side =~ s{^a}{}; + } + elsif ( $section_0->name ne 'A' and $direction == 100 ) { + $exit_side =~ s{^a}{}; + } + else { + $exit_side = ( $exit_side eq 'ar' ) ? 'l' : 'r'; + } + } + else { + $exit_side = undef; + } + } + my $wref = { e => $exit_side ? substr( $exit_side, 0, 1 ) : '', tt => $wr->train_type, |