Loading bin/dbris +4 −4 Original line number Diff line number Diff line Loading @@ -520,7 +520,7 @@ for my $connection ( $ris->connections ) { printf( "%s%s %s %s%s\n", $segment->dep->strftime('%H:%M'), $segment->dep ? $segment->dep->strftime('%H:%M') : q{??:??}, $max_delay_digits ? q{ } . format_delay( $segment->dep_delay, $max_delay_digits ) : q{}, Loading @@ -547,7 +547,7 @@ for my $connection ( $ris->connections ) { printf( "%s%s%s%s %s %s%s\n", $segment->is_unlikely ? $output_critical : q{}, $segment->arr->strftime('%H:%M'), $segment->arr ? $segment->arr->strftime('%H:%M') : q{??:??}, $segment->is_unlikely ? $output_reset : q{}, $max_delay_digits ? q{ } . format_delay( $segment->arr_delay, $max_delay_digits ) Loading lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm +16 −6 Original line number Diff line number Diff line Loading @@ -46,19 +46,21 @@ sub new { journey_id => $json->{journeyId}, }; bless( $ref, $obj ); if ( my $ts = $json->{abfahrtsZeitpunkt} ) { $ref->{sched_dep} = $strptime->parse_datetime($ts); $ref->{sched_dep} = $ref->parse_datetime( $strptime, $ts ); } if ( my $ts = $json->{ezAbfahrtsZeitpunkt} ) { $ref->{rt_dep} = $strptime->parse_datetime($ts); $ref->{rt_dep} = $ref->parse_datetime( $strptime, $ts ); } $ref->{dep} = $ref->{rt_dep} // $ref->{sched_dep}; if ( my $ts = $json->{ankunftsZeitpunkt} ) { $ref->{sched_arr} = $strptime->parse_datetime($ts); $ref->{sched_arr} = $ref->parse_datetime( $strptime, $ts ); } if ( my $ts = $json->{ezAnkunftsZeitpunkt} ) { $ref->{rt_arr} = $strptime->parse_datetime($ts); $ref->{rt_arr} = $ref->parse_datetime( $strptime, $ts ); } $ref->{arr} = $ref->{rt_arr} // $ref->{sched_arr}; Loading Loading @@ -162,11 +164,19 @@ sub new { $ref->{arr_platform} = $ref->{route}[-1]->platform; } bless( $ref, $obj ); return $ref; } sub parse_datetime { my ( $self, $strp, $dt_str ) = @_; my $ret; eval { $ret = $strp->parse_datetime($dt_str); }; if ($@) { warn("Cannot parse datetime $dt_str: $@"); } return $ret; } sub attributes { my ($self) = @_; Loading Loading
bin/dbris +4 −4 Original line number Diff line number Diff line Loading @@ -520,7 +520,7 @@ for my $connection ( $ris->connections ) { printf( "%s%s %s %s%s\n", $segment->dep->strftime('%H:%M'), $segment->dep ? $segment->dep->strftime('%H:%M') : q{??:??}, $max_delay_digits ? q{ } . format_delay( $segment->dep_delay, $max_delay_digits ) : q{}, Loading @@ -547,7 +547,7 @@ for my $connection ( $ris->connections ) { printf( "%s%s%s%s %s %s%s\n", $segment->is_unlikely ? $output_critical : q{}, $segment->arr->strftime('%H:%M'), $segment->arr ? $segment->arr->strftime('%H:%M') : q{??:??}, $segment->is_unlikely ? $output_reset : q{}, $max_delay_digits ? q{ } . format_delay( $segment->arr_delay, $max_delay_digits ) Loading
lib/Travel/Routing/DE/DBRIS/Connection/Segment.pm +16 −6 Original line number Diff line number Diff line Loading @@ -46,19 +46,21 @@ sub new { journey_id => $json->{journeyId}, }; bless( $ref, $obj ); if ( my $ts = $json->{abfahrtsZeitpunkt} ) { $ref->{sched_dep} = $strptime->parse_datetime($ts); $ref->{sched_dep} = $ref->parse_datetime( $strptime, $ts ); } if ( my $ts = $json->{ezAbfahrtsZeitpunkt} ) { $ref->{rt_dep} = $strptime->parse_datetime($ts); $ref->{rt_dep} = $ref->parse_datetime( $strptime, $ts ); } $ref->{dep} = $ref->{rt_dep} // $ref->{sched_dep}; if ( my $ts = $json->{ankunftsZeitpunkt} ) { $ref->{sched_arr} = $strptime->parse_datetime($ts); $ref->{sched_arr} = $ref->parse_datetime( $strptime, $ts ); } if ( my $ts = $json->{ezAnkunftsZeitpunkt} ) { $ref->{rt_arr} = $strptime->parse_datetime($ts); $ref->{rt_arr} = $ref->parse_datetime( $strptime, $ts ); } $ref->{arr} = $ref->{rt_arr} // $ref->{sched_arr}; Loading Loading @@ -162,11 +164,19 @@ sub new { $ref->{arr_platform} = $ref->{route}[-1]->platform; } bless( $ref, $obj ); return $ref; } sub parse_datetime { my ( $self, $strp, $dt_str ) = @_; my $ret; eval { $ret = $strp->parse_datetime($dt_str); }; if ($@) { warn("Cannot parse datetime $dt_str: $@"); } return $ret; } sub attributes { my ($self) = @_; Loading