diff options
author | Birte Kristina Friesel <birte.friesel@uos.de> | 2025-01-30 22:26:16 +0100 |
---|---|---|
committer | Birte Kristina Friesel <birte.friesel@uos.de> | 2025-01-30 22:26:16 +0100 |
commit | 99852d760a18a9d87acc832fd0557f630f5e69eb (patch) | |
tree | 36eebc183be9db91c4ac288e4b8b5467a866ec33 /lib/Travel/Routing/DE/DBRIS | |
parent | a956ddd5be0c79bf0263440bc9a32a4590340d00 (diff) |
parse and expose messages
Diffstat (limited to 'lib/Travel/Routing/DE/DBRIS')
-rw-r--r-- | lib/Travel/Routing/DE/DBRIS/Connection.pm | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/Travel/Routing/DE/DBRIS/Connection.pm b/lib/Travel/Routing/DE/DBRIS/Connection.pm index 2ad46d8..d7c74f0 100644 --- a/lib/Travel/Routing/DE/DBRIS/Connection.pm +++ b/lib/Travel/Routing/DE/DBRIS/Connection.pm @@ -94,6 +94,19 @@ sub new { $ref->{$key} = $ref->{segments}[-1]{$key}; } + for my $note ( @{ $json->{risNotizen} // [] } ) { + push( @{ $ref->{notes} }, $note ); + if ( $note->{key} eq 'text.realtime.connection.cancelled' ) { + $ref->{is_cancelled} = 1; + } + elsif ( $note->{key} eq 'text.realtime.connection.brokentrip' ) { + $ref->{is_unlikely} = 1; + } + } + for my $message ( @{ $json->{messages} // [] } ) { + push( @{ $ref->{messages} }, $message ); + } + bless( $ref, $obj ); return $ref; @@ -105,6 +118,18 @@ sub segments { return @{ $self->{segments} // [] }; } +sub notes { + my ($self) = @_; + + return @{ $self->{notes} // [] }; +} + +sub messages { + my ($self) = @_; + + return @{ $self->{messages} // [] }; +} + sub TO_JSON { my ($self) = @_; |