summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2025-06-16 20:28:20 +0200
committerBirte Kristina Friesel <derf@finalrewind.org>2025-06-16 20:28:20 +0200
commit393560e1ec510dfe2ba44eceffbd8e31b4ac7977 (patch)
tree16e4a5b1af526741531dcf169c2631d051f37ed0
parent1d258ed3fc5467cdabe8e295848f8d497a1cf362 (diff)
efa-m: only reserve space for occupancy if it is used
-rwxr-xr-xbin/efa-m8
1 files changed, 6 insertions, 2 deletions
diff --git a/bin/efa-m b/bin/efa-m
index a6be9b5..8526db7 100755
--- a/bin/efa-m
+++ b/bin/efa-m
@@ -353,6 +353,7 @@ sub show_stopseq {
);
say q{};
+ my $occupancy_len = 0;
my $delay_len = 0;
my $inner_delay_len = 0;
my $max_delay = max map { abs( $_->delay // 0 ) } $trip->route;
@@ -360,6 +361,9 @@ sub show_stopseq {
$inner_delay_len = length($max_delay) + 1;
$delay_len = length( sprintf( '(%+d)', $max_delay ) ) + 1;
}
+ if ( first { $_->occupancy } $trip->route ) {
+ $occupancy_len = 2;
+ }
if ( first { $_->is_cancelled } $trip->route and $delay_len < 3 ) {
$delay_len = 3;
@@ -367,7 +371,7 @@ sub show_stopseq {
for my $stop ( $trip->route ) {
printf(
- "%s → %s%${delay_len}s %s %s (%s) %s\n",
+ "%s → %s%${delay_len}s %-${occupancy_len}s%s (%s) %s\n",
$stop->arr ? $stop->arr->strftime('%H:%M')
: q{ },
$stop->dep ? $stop->dep->strftime('%H:%M')
@@ -378,7 +382,7 @@ sub show_stopseq {
? sprintf( " (%+${inner_delay_len}d)", $stop->delay )
: q{}
),
- $stop->occupancy ? format_occupancy( $stop->occupancy ) : q{ },
+ $stop->occupancy ? format_occupancy( $stop->occupancy ) : q{},
$stop->full_name,
$stop->niveau,
$stop->platform