diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2025-01-19 09:29:19 +0100 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2025-01-19 09:29:19 +0100 |
commit | c43c6bf0cacc5e49a97ad9630639160a12fd8e0b (patch) | |
tree | 1dd8e5298aeed66bd8e6303c9489363b5095b372 /lib | |
parent | 6e68f95cda2c8606c61ec9ecb39deb2865bf5879 (diff) |
Segment: Parse attributes and messages
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm b/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm index b0c4638..e3bcbf4 100644 --- a/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm +++ b/lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm @@ -109,6 +109,22 @@ sub new { ); } + for my $attr ( @{ $json->{verkehrsmittel}{zugattribute} // [] } ) { + push( @{ $ref->{attributes} }, $attr ); + } + + for my $message ( @{ $json->{himMeldungen} // [] } ) { + push( @{ $ref->{messages_him} }, $message ); + } + + for my $message ( @{ $json->{risNotizen} // [] } ) { + push( @{ $ref->{messages_ris} }, $message ); + } + + for my $message ( @{ $json->{priorisierteMeldungen} // [] } ) { + push( @{ $ref->{messages_prio} }, $message ); + } + if ( $json->{verkehrsmittel}{typ} eq 'WALK' ) { $ref->{is_walk} = 1; $ref->{walk_name} = $json->{verkehrsmittel}{name}; @@ -124,6 +140,30 @@ sub new { return $ref; } +sub attributes { + my ($self) = @_; + + return @{ $self->{attributes} // [] }; +} + +sub messages_him { + my ($self) = @_; + + return @{ $self->{messages_him} // [] }; +} + +sub messages_ris { + my ($self) = @_; + + return @{ $self->{messages_ris} // [] }; +} + +sub messages_prio { + my ($self) = @_; + + return @{ $self->{messages_prio} // [] }; +} + sub route { my ($self) = @_; |