Skip to content
Snippets Groups Projects
Commit 28982bc3 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

efa: Added support for --{from,to,via}-type

note that the parser breaks when using a type != stop:
"Fußweg" is not really supported yet
parent baf4b395
No related branches found
No related tags found
No related merge requests found
...@@ -19,6 +19,7 @@ my $www = WWW::Mechanize->new( ...@@ -19,6 +19,7 @@ my $www = WWW::Mechanize->new(
my $raw; my $raw;
my $cons; my $cons;
my (@from, @to, @via); my (@from, @to, @via);
my ($from_type, $to_type, $via_type) = ('stop', 'stop', 'stop');
my ($time, $time_depart, $time_arrive); my ($time, $time_depart, $time_arrive);
my $date; my $date;
my @exclude; my @exclude;
...@@ -32,9 +33,6 @@ my $debug = 0; ...@@ -32,9 +33,6 @@ my $debug = 0;
my $ignore_info = 'Fahrradmitnahme'; my $ignore_info = 'Fahrradmitnahme';
my ($i, $j, $con, $part); my ($i, $j, $con, $part);
$post{type_origin} = 'stop';
$post{type_destination} = 'stop';
sub check_ambiguous($) { sub check_ambiguous($) {
my $html = shift; my $html = shift;
my $choose_re = qr/<span class="errorTextBold">Bitte auswählen<\/span>/; my $choose_re = qr/<span class="errorTextBold">Bitte auswählen<\/span>/;
...@@ -124,6 +122,7 @@ GetOptions( ...@@ -124,6 +122,7 @@ GetOptions(
'depart=s' => \$time_depart, 'depart=s' => \$time_depart,
'exclude=s' => \@exclude, 'exclude=s' => \@exclude,
'from=s{2}' => \@from, 'from=s{2}' => \@from,
'from-type=s' => \$from_type,
'help' => sub {exec('perldoc', $0)}, 'help' => sub {exec('perldoc', $0)},
'ignore-info=s{0,1}' => \$ignore_info, 'ignore-info=s{0,1}' => \$ignore_info,
'max-change=i' => \$maxinter, 'max-change=i' => \$maxinter,
...@@ -133,7 +132,9 @@ GetOptions( ...@@ -133,7 +132,9 @@ GetOptions(
'restrict=s' => \$restrict, 'restrict=s' => \$restrict,
'time=s' => \$time, 'time=s' => \$time,
'to=s{2}' => \@to, 'to=s{2}' => \@to,
'to-type=s' => \$to_type,
'via=s{2}' => \@via, 'via=s{2}' => \@via,
'via-type=s' => \$via_type,
'walk-speed=s' => \$walk_speed, 'walk-speed=s' => \$walk_speed,
); );
...@@ -158,6 +159,17 @@ if (@via == 2) { ...@@ -158,6 +159,17 @@ if (@via == 2) {
@post{'place_via','name_via'} = @via; @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) { if ($time_arrive) {
$time = $time_arrive; $time = $time_arrive;
$post{itdTripDateTimeDepArr} = 'arr'; $post{itdTripDateTimeDepArr} = 'arr';
...@@ -324,6 +336,11 @@ Arrival place ...@@ -324,6 +336,11 @@ Arrival place
Travel via this place Travel via this place
=item B<--from-type>, B<--to-type>, B<--via-type> I<type>
Designate type of the I<stop> for from/to/via.
Possible I<type>s: B<stop> (default), B<address>, B<poi> (point of interest)
=item B<--time>|B<--depart> I<hh>:I<mm> =item B<--time>|B<--depart> I<hh>:I<mm>
Journey start time Journey start time
......
...@@ -5,6 +5,7 @@ arguments=( ...@@ -5,6 +5,7 @@ arguments=(
'--from:city: :stop: ' '--from:city: :stop: '
'--to:city: :stop: ' '--to:city: :stop: '
'--via:city: :stop: ' '--via:city: :stop: '
'--'{from,to,via}'-type:type:(stop address poi)'
'--bike' '--bike'
'--debug' '--debug'
'(--depart --arrive)--time:time' '(--depart --arrive)--time:time'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment