From 28982bc3c6193a6fe7cf161eb8e6eaf8686d52f5 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 23 May 2009 12:31:36 +0200 Subject: efa: Added support for --{from,to,via}-type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit note that the parser breaks when using a type != stop: "Fußweg" is not really supported yet --- bin/efa | 23 ++++++++++++++++++++--- provides/zsh/completions/_efa | 1 + 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/bin/efa b/bin/efa index 6488e21..f601768 100755 --- a/bin/efa +++ b/bin/efa @@ -19,6 +19,7 @@ my $www = WWW::Mechanize->new( my $raw; my $cons; my (@from, @to, @via); +my ($from_type, $to_type, $via_type) = ('stop', 'stop', 'stop'); my ($time, $time_depart, $time_arrive); my $date; my @exclude; @@ -32,9 +33,6 @@ my $debug = 0; my $ignore_info = 'Fahrradmitnahme'; my ($i, $j, $con, $part); -$post{type_origin} = 'stop'; -$post{type_destination} = 'stop'; - sub check_ambiguous($) { my $html = shift; my $choose_re = qr/Bitte auswählen<\/span>/; @@ -124,6 +122,7 @@ GetOptions( 'depart=s' => \$time_depart, 'exclude=s' => \@exclude, 'from=s{2}' => \@from, + 'from-type=s' => \$from_type, 'help' => sub {exec('perldoc', $0)}, 'ignore-info=s{0,1}' => \$ignore_info, 'max-change=i' => \$maxinter, @@ -133,7 +132,9 @@ GetOptions( 'restrict=s' => \$restrict, 'time=s' => \$time, 'to=s{2}' => \@to, + 'to-type=s' => \$to_type, 'via=s{2}' => \@via, + 'via-type=s' => \$via_type, 'walk-speed=s' => \$walk_speed, ); @@ -158,6 +159,17 @@ if (@via == 2) { @post{'place_via','name_via'} = @via; } +foreach ($from_type, $to_type, $via_type) { + unless ($_ ~~ ['stop', 'address', 'poi']) { + $_ = 'stop'; + print STDERR "from/to/via type: must be stop, address or poi\n"; + } +} + +$post{type_origin} = $from_type; +$post{type_destination} = $to_type; +$post{type_via} = $via_type; + if ($time_arrive) { $time = $time_arrive; $post{itdTripDateTimeDepArr} = 'arr'; @@ -324,6 +336,11 @@ Arrival place Travel via this place +=item B<--from-type>, B<--to-type>, B<--via-type> I + +Designate type of the I for from/to/via. +Possible Is: B (default), B
, B (point of interest) + =item B<--time>|B<--depart> I:I Journey start time diff --git a/provides/zsh/completions/_efa b/provides/zsh/completions/_efa index 84d805c..486b5f1 100644 --- a/provides/zsh/completions/_efa +++ b/provides/zsh/completions/_efa @@ -5,6 +5,7 @@ arguments=( '--from:city: :stop: ' '--to:city: :stop: ' '--via:city: :stop: ' + '--'{from,to,via}'-type:type:(stop address poi)' '--bike' '--debug' '(--depart --arrive)--time:time' -- cgit v1.2.3