From a9d5268457783df67c77b3bce67d9f750ba14df1 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 28 Oct 2022 08:24:27 +0200 Subject: station board: parse load (tcocX) as well --- bin/hafas-m | 7 +++++++ lib/Travel/Status/DE/HAFAS/Journey.pm | 11 ++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/bin/hafas-m b/bin/hafas-m index 0e9c8b4..f0d7968 100755 --- a/bin/hafas-m +++ b/bin/hafas-m @@ -293,6 +293,13 @@ for my $d ( $status->results ) { } } + if ( $d->load ) { + $info_line + = display_occupancy( $d->load->{FIRST} ) + . display_occupancy( $d->load->{SECOND} ) . ' ' + . $info_line; + } + push( @output, [ diff --git a/lib/Travel/Status/DE/HAFAS/Journey.pm b/lib/Travel/Status/DE/HAFAS/Journey.pm index 750d1e8..5f1290b 100644 --- a/lib/Travel/Status/DE/HAFAS/Journey.pm +++ b/lib/Travel/Status/DE/HAFAS/Journey.pm @@ -15,7 +15,7 @@ our $VERSION = '3.01'; Travel::Status::DE::HAFAS::Journey->mk_ro_accessors( qw(datetime sched_datetime rt_datetime is_cancelled operator delay platform sched_platform rt_platform - id name type type_long number line + id name type type_long number line load route_end route_start origin destination direction) ); @@ -216,6 +216,15 @@ sub new { else { $ref->{datetime} = $ref->{sched_datetime}; } + + my %tco; + for my $tco_id ( @{ $journey->{stbStop}{dTrnCmpSX}{tcocX} // [] } ) { + my $tco_kv = $tcocL[$tco_id]; + $tco{ $tco_kv->{c} } = $tco_kv->{r}; + } + if (%tco) { + $ref->{load} = \%tco; + } } if ( $opt{polyline} ) { $ref->{polyline} = $opt{polyline}; -- cgit v1.2.3