From b8fd2abe65a1ff299307e06d576ae3b9cc5b8af2 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 18 Jan 2014 22:22:25 +0100 Subject: add efa-url support to efa script --- bin/efa | 22 +++++++++++++++++----- lib/Travel/Routing/DE/EFA.pm | 12 ++++++------ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/bin/efa b/bin/efa index 7fc54f1..d3233c7 100755 --- a/bin/efa +++ b/bin/efa @@ -11,21 +11,23 @@ no if $] >= 5.018, warnings => "experimental::smartmatch"; use utf8; use Encode qw(decode); -use Travel::Routing::DE::VRR; +use Travel::Routing::DE::EFA; use Exception::Class; use Getopt::Long qw/:config no_ignore_case/; our $VERSION = '2.04'; my $ignore_info = 'Fahrradmitnahme'; my $efa; +my $efa_url = 'http://efa.vrr.de/vrr/XSLT_TRIP_REQUEST2'; my ( @from, @to, @via, $from_type, $to_type, $via_type ); my $opt = { + 'efa-url' => \$efa_url, 'help' => sub { show_help(0) }, 'ignore-info' => \$ignore_info, 'from' => \@from, 'to' => \@to, - 'version' => sub { say "efa version $VERSION"; exit 0 }, - 'via' => \@via, + 'version' => sub { say "efa version $VERSION"; exit 0 }, + 'via' => \@via, }; binmode( STDOUT, ':encoding(utf-8)' ); @@ -146,6 +148,7 @@ GetOptions( bike|b date|d=s depart=s + efa-url|u=s exclude|e=s@ extended-info|E from=s@{2} @@ -199,7 +202,9 @@ if ( defined $opt->{'ignore-info'} and length( $opt->{'ignore-info'} ) == 0 ) { } $efa = eval { - Travel::Routing::DE::VRR->new( + Travel::Routing::DE::EFA->new( + efa_url => $efa_url, + origin => [ @from, $from_type ], destination => [ @to, $to_type ], via => ( @via ? [ @via, $via_type ] : undef ), @@ -381,6 +386,13 @@ Ignore additional information matching I (default: /Fahrradmitnahme/) If I is not supplied, removes the default regex (-E nothing will be ignored) +=item B<-u>|B<--efa-url> I + +URL to the EFA entry point, defaults to +L. Depending on your location, some +Is may contain more specific data than others. See +Travel::Routing::DE::EFA(3pm) for alternatives. + =item B<--timeout> I Set timeout for HTTP requests. Default: 60 seconds. @@ -407,7 +419,7 @@ Print version information 3 efa.vrr.de did not return any parsable data 4 efa.vrr.de error: ambiguous input 5 efa.vrr.de error: no connections found - 10 Unknown Travel::Routing::DE::VRR error + 10 Unknown Travel::Routing::DE::EFA error 255 Other internal error =head1 CONFIGURATION diff --git a/lib/Travel/Routing/DE/EFA.pm b/lib/Travel/Routing/DE/EFA.pm index 2da6e2e..9ccf2ff 100644 --- a/lib/Travel/Routing/DE/EFA.pm +++ b/lib/Travel/Routing/DE/EFA.pm @@ -392,7 +392,7 @@ sub new { bless( $ref, $obj ); - if (not $ref->{config}->{efa_url}) { + if ( not $ref->{config}->{efa_url} ) { Travel::Routing::DE::EFA::Exception::Setup->throw( option => 'efa_url', error => 'must be set' @@ -426,8 +426,8 @@ sub submit { $self->{ua} = LWP::UserAgent->new(%conf); $self->{ua}->env_proxy; - my $response = $self->{ua} - ->post( $self->{config}->{efa_url}, $self->{post} ); + my $response + = $self->{ua}->post( $self->{config}->{efa_url}, $self->{post} ); if ( $response->is_error ) { Travel::Routing::DE::EFA::Exception::Net->throw( @@ -737,11 +737,11 @@ Known URLs are: =over -=item * L (Verkehrsverbund GroEraum NErnberg) +=item * L (Verkehrsverbund GroEraum NErnberg) -=item * L (Verkehrsverbund Rhein-Ruhr) +=item * L (Verkehrsverbund Rhein-Ruhr) -=item * L (Verkehrsverbund Stuttgart) +=item * L (Verkehrsverbund Stuttgart) =back -- cgit v1.2.3