Loading bin/dbris +28 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ my $mots; my ( $first_class, $passengers ); my $developer_mode; my ( $json_output, $raw_json_output ); my $verbose; my $use_cache = 1; my $show_full_route; my $cache; Loading @@ -43,6 +44,7 @@ GetOptions( 'l|language=s' => \$language, 'p|passengers=s' => \$passengers, 't|time=s' => \$time, 'v|verbose' => \$verbose, 'V|version' => \&show_version, 'cache!' => \$use_cache, 'devmode' => \$developer_mode, Loading Loading @@ -316,6 +318,19 @@ for my $connection ( $ris->connections ) { : q{}, $header, ); if ($verbose) { for my $note ( $connection->notes ) { printf( "| %s (%s)\n", $note->{value}, $note->{key} ); } for my $msg ( $connection->messages ) { printf( "| %s\n", $msg->{text} ); } } say q{}; for my $segment ( $connection->segments ) { if ( $segment->is_transfer ) { for my $note ( $segment->transfer_notes ) { Loading Loading @@ -382,6 +397,19 @@ for my $connection ( $ris->connections ) { $segment->arr_name, $segment->arr_platform ? q{ } . $segment->arr_platform : q{}, ); if ($verbose) { for my $msg ( $segment->messages_ris ) { printf( "| %s (%s)\n", $msg->{value}, $msg->{key} ); } for my $msg ( $segment->messages_him ) { printf( "| %s\n", $msg->{text} ); } for my $msg ( $segment->messages_prio ) { printf( "| %s\n", $msg->{text} ); } } say q{}; } say q{---------------------------------------}; Loading lib/Travel/Routing/DE/DBRIS/Connection.pm +25 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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) = @_; Loading Loading
bin/dbris +28 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ my $mots; my ( $first_class, $passengers ); my $developer_mode; my ( $json_output, $raw_json_output ); my $verbose; my $use_cache = 1; my $show_full_route; my $cache; Loading @@ -43,6 +44,7 @@ GetOptions( 'l|language=s' => \$language, 'p|passengers=s' => \$passengers, 't|time=s' => \$time, 'v|verbose' => \$verbose, 'V|version' => \&show_version, 'cache!' => \$use_cache, 'devmode' => \$developer_mode, Loading Loading @@ -316,6 +318,19 @@ for my $connection ( $ris->connections ) { : q{}, $header, ); if ($verbose) { for my $note ( $connection->notes ) { printf( "| %s (%s)\n", $note->{value}, $note->{key} ); } for my $msg ( $connection->messages ) { printf( "| %s\n", $msg->{text} ); } } say q{}; for my $segment ( $connection->segments ) { if ( $segment->is_transfer ) { for my $note ( $segment->transfer_notes ) { Loading Loading @@ -382,6 +397,19 @@ for my $connection ( $ris->connections ) { $segment->arr_name, $segment->arr_platform ? q{ } . $segment->arr_platform : q{}, ); if ($verbose) { for my $msg ( $segment->messages_ris ) { printf( "| %s (%s)\n", $msg->{value}, $msg->{key} ); } for my $msg ( $segment->messages_him ) { printf( "| %s\n", $msg->{text} ); } for my $msg ( $segment->messages_prio ) { printf( "| %s\n", $msg->{text} ); } } say q{}; } say q{---------------------------------------}; Loading
lib/Travel/Routing/DE/DBRIS/Connection.pm +25 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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) = @_; Loading