Loading bin/efa +34 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ my $cons; my (@from, @to, @via); my ($time, $time_depart, $time_arrive); my $date; my @exclude; my $maxinter; my $restrict; my $prefer; Loading Loading @@ -118,6 +119,7 @@ GetOptions( 'date=s' => \$date, 'debug' => \$debug, 'depart=s' => \$time_depart, 'exclude=s' => \@exclude, 'from=s{2}' => \@from, 'help' => sub {exec('perldoc', $0)}, 'ignore-info=s' => \$ignore_info, Loading @@ -131,6 +133,8 @@ GetOptions( 'via=s{2}' => \@via, ); @exclude = split(/,/, join(',', @exclude)); unless (@from and @to) { if (@ARGV == 4) { (@from[0,1], @to[0,1]) = @ARGV; Loading Loading @@ -165,6 +169,28 @@ if ($date) { @post{'itdDateDay','itdDateMonth','itdDateYear'} = split(/\./, $date); } if (@exclude) { foreach(@exclude) { given($_) { when('zug') { $post{inclMOT_0} = undef } when('s-bahn') { $post{inclMOT_1} = undef } when('u-bahn') { $post{inclMOT_2} = undef } when('stadtbahn') { $post{inclMOT_3} = undef } when('tram') { $post{inclMOT_4} = undef } when('stadtbus') { $post{inclMOT_5} = undef } when('regionalbus') { $post{inclMOT_6} = undef } when('schnellbus') { $post{inclMOT_7} = undef } when('seilbahn') { $post{inclMOT_8} = undef } when('schiff') { $post{inclMOT_9} = undef } when('ast') { $post{inclMOT_10} = undef } when('sonstige') {$post{inclMOT_11} = undef } default { print STDERR "--exclude: invaled argument\n"; } } } } if (defined($maxinter)) { $post{maxChanges} = $maxinter; } Loading Loading @@ -203,6 +229,7 @@ $www->submit_form( ); $content = $www->content; if (check_ambiguous($content)) { exit(1); } Loading Loading @@ -292,6 +319,13 @@ Journey end time (overrides --time/--depart) Journey date =item B<--exclude> I<transports> Exclude I<transports> (comma separated list). Possible transports: zug, s-bahn, u-bahn, stadtbahn, tram, stadtbus, regionalbus, schnellbus, seilbahn, schiff, ast, sonstige =item B<--max-change> I<number> Print connections with at most I<number> interchanges Loading provides/zsh/completions/_efa +13 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ arguments=( '(--depart --time)--arrive:time' '(--arrive --time)--depart:time' '--date:date' '*--exclude:transports:_efa_transports' '--max-change:number' '--prefer:type:(speed nowait nowalk)' '--proximity' Loading @@ -18,4 +19,16 @@ arguments=( '*--post:POST key=value' ) function _efa_transports { typeset -a keys used_prefixes typeset prefix='' keys=(zug s-bahn u-bahn stadtbahn tram stadtbus regionalbus schnellbus seilbahn schiff ast sonstige) if [[ -prefix *, ]] { prefix=${words[$CURRENT]%,*}, used_prefixes=(${(s:,:)prefix}) } _wanted expression expl 'sort expression' \ compadd -F used_prefixes -qS , -P "$prefix" $keys } _arguments -s $arguments Loading
bin/efa +34 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ my $cons; my (@from, @to, @via); my ($time, $time_depart, $time_arrive); my $date; my @exclude; my $maxinter; my $restrict; my $prefer; Loading Loading @@ -118,6 +119,7 @@ GetOptions( 'date=s' => \$date, 'debug' => \$debug, 'depart=s' => \$time_depart, 'exclude=s' => \@exclude, 'from=s{2}' => \@from, 'help' => sub {exec('perldoc', $0)}, 'ignore-info=s' => \$ignore_info, Loading @@ -131,6 +133,8 @@ GetOptions( 'via=s{2}' => \@via, ); @exclude = split(/,/, join(',', @exclude)); unless (@from and @to) { if (@ARGV == 4) { (@from[0,1], @to[0,1]) = @ARGV; Loading Loading @@ -165,6 +169,28 @@ if ($date) { @post{'itdDateDay','itdDateMonth','itdDateYear'} = split(/\./, $date); } if (@exclude) { foreach(@exclude) { given($_) { when('zug') { $post{inclMOT_0} = undef } when('s-bahn') { $post{inclMOT_1} = undef } when('u-bahn') { $post{inclMOT_2} = undef } when('stadtbahn') { $post{inclMOT_3} = undef } when('tram') { $post{inclMOT_4} = undef } when('stadtbus') { $post{inclMOT_5} = undef } when('regionalbus') { $post{inclMOT_6} = undef } when('schnellbus') { $post{inclMOT_7} = undef } when('seilbahn') { $post{inclMOT_8} = undef } when('schiff') { $post{inclMOT_9} = undef } when('ast') { $post{inclMOT_10} = undef } when('sonstige') {$post{inclMOT_11} = undef } default { print STDERR "--exclude: invaled argument\n"; } } } } if (defined($maxinter)) { $post{maxChanges} = $maxinter; } Loading Loading @@ -203,6 +229,7 @@ $www->submit_form( ); $content = $www->content; if (check_ambiguous($content)) { exit(1); } Loading Loading @@ -292,6 +319,13 @@ Journey end time (overrides --time/--depart) Journey date =item B<--exclude> I<transports> Exclude I<transports> (comma separated list). Possible transports: zug, s-bahn, u-bahn, stadtbahn, tram, stadtbus, regionalbus, schnellbus, seilbahn, schiff, ast, sonstige =item B<--max-change> I<number> Print connections with at most I<number> interchanges Loading
provides/zsh/completions/_efa +13 −0 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ arguments=( '(--depart --time)--arrive:time' '(--arrive --time)--depart:time' '--date:date' '*--exclude:transports:_efa_transports' '--max-change:number' '--prefer:type:(speed nowait nowalk)' '--proximity' Loading @@ -18,4 +19,16 @@ arguments=( '*--post:POST key=value' ) function _efa_transports { typeset -a keys used_prefixes typeset prefix='' keys=(zug s-bahn u-bahn stadtbahn tram stadtbus regionalbus schnellbus seilbahn schiff ast sonstige) if [[ -prefix *, ]] { prefix=${words[$CURRENT]%,*}, used_prefixes=(${(s:,:)prefix}) } _wanted expression expl 'sort expression' \ compadd -F used_prefixes -qS , -P "$prefix" $keys } _arguments -s $arguments