summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2025-01-19 09:29:19 +0100
committerBirte Kristina Friesel <derf@finalrewind.org>2025-01-19 09:29:19 +0100
commitc43c6bf0cacc5e49a97ad9630639160a12fd8e0b (patch)
tree1dd8e5298aeed66bd8e6303c9489363b5095b372 /lib
parent6e68f95cda2c8606c61ec9ecb39deb2865bf5879 (diff)
Segment: Parse attributes and messages
Diffstat (limited to 'lib')
-rw-r--r--lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm40
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) = @_;