Loading Changelog +2 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,8 @@ git HEAD arrival or departure platform * db-iris: add -V / --track-via option to display departure at start and expected arrival at a destination station * db-iris: Add -r / --realtime option to compute times using delay data Travel::Status::DE::IRIS 0.01 - Fri Jan 24 2014 Loading bin/db-iris +42 −7 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ use Travel::Status::DE::IRIS::Stations; my ( $date, $time ); my $datetime = DateTime->now( time_zone => 'Europe/Berlin' ); my $realtime = 0; my ( $filter_via, $track_via, $status_via ); my ( @grep_class, @grep_type, @grep_platform ); my ( %edata, @edata_pre ); Loading @@ -35,6 +36,7 @@ GetOptions( 'h|help' => sub { show_help(0) }, 'o|output=s@' => \@edata_pre, 'p|platform=s@' => \@grep_platform, 'r|realtime' => \$realtime, 't|time=s' => \$time, 'T|type=s' => \@grep_type, 'v|via=s' => \$filter_via, Loading Loading @@ -101,6 +103,28 @@ if ($track_via) { ); } sub get_arrival { my ( $result, $fmt ) = @_; my $dt_arrival = $realtime ? $result->arrival : $result->sched_arrival; if ($fmt) { return $dt_arrival ? $dt_arrival->strftime($fmt) : q{}; } return $dt_arrival; } sub get_departure { my ( $result, $fmt ) = @_; my $dt_dep = $realtime ? $result->departure : $result->sched_departure; if ($fmt) { return $dt_dep ? $dt_dep->strftime($fmt) : q{}; } return $dt_dep; } sub get_station { my ($input_name) = @_; Loading Loading @@ -144,6 +168,11 @@ sub sanitize_options { say STDERR "Disabling option --output=times"; delete $edata{times}; } if ( $realtime and $edata{times} ) { say STDERR "Note: --realtime cannot be combined with --output=times"; say STDERR "Disabling option --realtime"; $realtime = 0; } } sub display_result { Loading Loading @@ -195,9 +224,8 @@ sub display_result { else { printf( "%5s → %5s %+d\n", $d->arrival ? $d->arrival->strftime('%H:%M') : q{}, $d->departure ? $d->departure->strftime('%H:%M') : q{}, $d->delay, get_arrival( $d, '%H:%M' ), get_departure( $d, '%H:%M' ), $d->delay, ); } Loading Loading @@ -261,7 +289,7 @@ for my $d ( $status->results() ) { my $platformstr = $d->platform // q{}; my $timestr; if ($track_via) { $timestr = $d->time; $timestr = get_departure( $d, '%H:%M' ) || get_arrival( $d, '%H:%M' ); if ( not $d->departure ) { next; } Loading @@ -272,8 +300,8 @@ for my $d ( $status->results() ) { { next; } my $timestr_via = $d_via->sched_arrival->strftime('%H:%M') . $delay; $timestr = $d->time . ' → ' . $timestr_via; my $timestr_via = get_arrival( $d_via, '%H:%M' ) . $delay; $timestr .= ' → ' . $timestr_via; $platformstr = sprintf( '%2s → %2s', $d->platform // q{}, $d_via->platform // q{} ); } Loading @@ -284,7 +312,9 @@ for my $d ( $status->results() ) { ); } else { $timestr = $d->time . $delay; $timestr = ( get_departure( $d, '%H:%M' ) || get_arrival( $d, '%H:%M' ) ) . $delay; } push( Loading Loading @@ -400,6 +430,11 @@ Show both scheduled and expected arrival and departure times. Only show arrivals/departures at I<platforms> (comma-separated list, option may be repeated). =item B<-r>, B<--realtime> Show estimated instead of scheduled time where available. Cannot be combiled with C<< --output=times >>. =item B<-t>, B<--time> I<time> Request results for I<time> in HH:MM oder HH:MM:SS format. Note that only Loading Loading
Changelog +2 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,8 @@ git HEAD arrival or departure platform * db-iris: add -V / --track-via option to display departure at start and expected arrival at a destination station * db-iris: Add -r / --realtime option to compute times using delay data Travel::Status::DE::IRIS 0.01 - Fri Jan 24 2014 Loading
bin/db-iris +42 −7 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ use Travel::Status::DE::IRIS::Stations; my ( $date, $time ); my $datetime = DateTime->now( time_zone => 'Europe/Berlin' ); my $realtime = 0; my ( $filter_via, $track_via, $status_via ); my ( @grep_class, @grep_type, @grep_platform ); my ( %edata, @edata_pre ); Loading @@ -35,6 +36,7 @@ GetOptions( 'h|help' => sub { show_help(0) }, 'o|output=s@' => \@edata_pre, 'p|platform=s@' => \@grep_platform, 'r|realtime' => \$realtime, 't|time=s' => \$time, 'T|type=s' => \@grep_type, 'v|via=s' => \$filter_via, Loading Loading @@ -101,6 +103,28 @@ if ($track_via) { ); } sub get_arrival { my ( $result, $fmt ) = @_; my $dt_arrival = $realtime ? $result->arrival : $result->sched_arrival; if ($fmt) { return $dt_arrival ? $dt_arrival->strftime($fmt) : q{}; } return $dt_arrival; } sub get_departure { my ( $result, $fmt ) = @_; my $dt_dep = $realtime ? $result->departure : $result->sched_departure; if ($fmt) { return $dt_dep ? $dt_dep->strftime($fmt) : q{}; } return $dt_dep; } sub get_station { my ($input_name) = @_; Loading Loading @@ -144,6 +168,11 @@ sub sanitize_options { say STDERR "Disabling option --output=times"; delete $edata{times}; } if ( $realtime and $edata{times} ) { say STDERR "Note: --realtime cannot be combined with --output=times"; say STDERR "Disabling option --realtime"; $realtime = 0; } } sub display_result { Loading Loading @@ -195,9 +224,8 @@ sub display_result { else { printf( "%5s → %5s %+d\n", $d->arrival ? $d->arrival->strftime('%H:%M') : q{}, $d->departure ? $d->departure->strftime('%H:%M') : q{}, $d->delay, get_arrival( $d, '%H:%M' ), get_departure( $d, '%H:%M' ), $d->delay, ); } Loading Loading @@ -261,7 +289,7 @@ for my $d ( $status->results() ) { my $platformstr = $d->platform // q{}; my $timestr; if ($track_via) { $timestr = $d->time; $timestr = get_departure( $d, '%H:%M' ) || get_arrival( $d, '%H:%M' ); if ( not $d->departure ) { next; } Loading @@ -272,8 +300,8 @@ for my $d ( $status->results() ) { { next; } my $timestr_via = $d_via->sched_arrival->strftime('%H:%M') . $delay; $timestr = $d->time . ' → ' . $timestr_via; my $timestr_via = get_arrival( $d_via, '%H:%M' ) . $delay; $timestr .= ' → ' . $timestr_via; $platformstr = sprintf( '%2s → %2s', $d->platform // q{}, $d_via->platform // q{} ); } Loading @@ -284,7 +312,9 @@ for my $d ( $status->results() ) { ); } else { $timestr = $d->time . $delay; $timestr = ( get_departure( $d, '%H:%M' ) || get_arrival( $d, '%H:%M' ) ) . $delay; } push( Loading Loading @@ -400,6 +430,11 @@ Show both scheduled and expected arrival and departure times. Only show arrivals/departures at I<platforms> (comma-separated list, option may be repeated). =item B<-r>, B<--realtime> Show estimated instead of scheduled time where available. Cannot be combiled with C<< --output=times >>. =item B<-t>, B<--time> I<time> Request results for I<time> in HH:MM oder HH:MM:SS format. Note that only Loading