summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2021-01-03 09:34:55 +0100
committerDaniel Friesel <derf@finalrewind.org>2021-01-03 09:34:55 +0100
commitaa1a5ed571f6a87f512f8afa706160d1dd9800f8 (patch)
tree857b92ecebd244c1bb77a0189853304b9d2654bc
parent836cd8a39a2c6c64e3cd23239a18fe1c6ea8515c (diff)
show "section A"-based wagon order if heuristic is unavailable3.9.4
-rw-r--r--lib/DBInfoscreen/Controller/Stationboard.pm9
-rw-r--r--lib/DBInfoscreen/Controller/Wagenreihung.pm19
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,