summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@derf.homelinux.org>2009-04-04 14:52:47 +0200
committerDaniel Friesel <derf@derf.homelinux.org>2009-04-04 14:52:47 +0200
commit7720f8afa0952301399ace25a0afc099ae27b0c1 (patch)
tree4b72cf6936e2ae120721827c4e00a9df46fc698e
parent2f900d261dd9630fe2e95adc46254ebcd3b63c56 (diff)
Added --restrict option for line selection (e.g. use ICE lines, too)
-rwxr-xr-xbin/efa37
-rw-r--r--provides/zsh/completions/_efa1
2 files changed, 37 insertions, 1 deletions
diff --git a/bin/efa b/bin/efa
index f8cd6dc..0d57441 100755
--- a/bin/efa
+++ b/bin/efa
@@ -25,6 +25,7 @@ my $offset;
my (@from, @to, @via);
my ($time, $time_depart, $time_arrive);
my $date;
+my $restrict;
my $debug = 0;
$post{type_origin} = 'stop';
@@ -40,6 +41,7 @@ GetOptions(
'date=s' => \$date,
'debug' => \$debug,
'post=s' => \%post,
+ 'restrict=s' => \$restrict,
);
unless (@to == 2 and @from == 2) {
@@ -68,6 +70,18 @@ if ($date) {
@post{'itdDateDay','itdDateMonth','itdDateYear'} = split(/\./, $date);
}
+if ($restrict) {
+ given ($restrict) {
+ when('local') { $post{lineRestriction} = 403 }
+ when('ic') { $post{lineRestriction} = 401 }
+ when('ice') { $post{lineRestriction} = 400 }
+ when(/\d+/) { $post{lineRestriction} = $restrict }
+ default {
+ print STDERR "--restrict usage: local / ic / ice\n";
+ }
+ }
+}
+
$www->get($firsturl);
$www->submit_form(
form_name => 'jp',
@@ -162,7 +176,7 @@ Departure place
Arrival place
-=time B<--via> I<city> I<stop>
+=item B<--via> I<city> I<stop>
Travel via this place
@@ -183,6 +197,27 @@ Journey end time (overrides --time/--depart)
Journey date
+=item B<--restrict> I<type>
+
+Only accept connections using trains of type I<type>, where I<type> may be:
+
+=over
+
+=item * local
+
+only take local trains ("Verbund-/Nahverkehrslinien"). Slow, but the cheapest
+method if you're not travelling long distance
+
+=item * ic
+
+All trains exctep ICE
+
+=item * ICE
+
+All trains
+
+=back
+
=item B<--post> I<key>=I<value>
Add I<key> with I<value> to the HTTP POST request sent to the EFA server.
diff --git a/provides/zsh/completions/_efa b/provides/zsh/completions/_efa
index 8e37b10..e0e24c6 100644
--- a/provides/zsh/completions/_efa
+++ b/provides/zsh/completions/_efa
@@ -10,6 +10,7 @@ arguments=(
'(--depart --time)--arrive:time'
'(--arrive --time)--depart:time'
'--date:date'
+ '--restrict:type:(local ic ice)'
'*--post:POST key=value'
)