From 6bbdc021707352f6655df14076edd29241ff8581 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 6 Jul 2011 16:21:28 +0200 Subject: db-ris: Add option to ignore delayed trains --- bin/db-ris | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/bin/db-ris b/bin/db-ris index bffe532..0d27e89 100755 --- a/bin/db-ris +++ b/bin/db-ris @@ -9,21 +9,25 @@ use Getopt::Long qw(:config no_ignore_case); use List::Util qw(first max); use Travel::Status::DE::DeutscheBahn; -my ( $date, $time ); -my $types = q{}; my %train_type; + +my ( $date, $time ); my $filter_via; +my $ignore_late = 0; +my $types = q{}; + my @output; binmode( STDOUT, ':encoding(utf-8)' ); GetOptions( - 'd|date=s' => \$date, - 'h|help' => sub { show_help(0) }, - 'm|mot=s' => \$types, - 't|time=s' => \$time, - 'v|via=s' => \$filter_via, - 'V|version' => \&show_version, + 'd|date=s' => \$date, + 'h|help' => sub { show_help(0) }, + 'L|ignore-late' => \$ignore_late, + 'm|mot=s' => \$types, + 't|time=s' => \$time, + 'v|via=s' => \$filter_via, + 'V|version' => \&show_version, ) or show_help(1); @@ -132,12 +136,18 @@ for my $d ( $status->results() ) { my ( @via, @via_main, @via_show ); + my $re_late = qr{ (?: ^ | , ) ca[.] \s \d+ \s Minuten \s sp.ter}ox; + @via = $d->route; if ( $filter_via and not( first { $_ =~ m{$filter_via}io } @via ) ) { next; } + if ( $ignore_late and $d->info =~ $re_late ) { + next; + } + push( @output, [ -- cgit v1.2.3