diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2014-11-26 16:37:01 +0000 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2014-11-26 16:37:01 +0000 |
commit | 8fdae5f539efb09604812626809c005234dcef46 (patch) | |
tree | 9f3cbdbad318c5b0c86ee1d1401b125732f75f84 | |
parent | 7903d4475b45cd09de5d89e04dfd0a90b13ea079 (diff) | |
parent | 2bab62e9e6276cd3e8b0aaddf3a1363c1efa726c (diff) |
Merge branch 'open311-populate-error-improvement'
-rw-r--r-- | perllib/Open311.pm | 14 | ||||
-rw-r--r-- | perllib/Open311/PopulateServiceList.pm | 18 |
2 files changed, 17 insertions, 15 deletions
diff --git a/perllib/Open311.pm b/perllib/Open311.pm index 1ab60bd4e..424054f53 100644 --- a/perllib/Open311.pm +++ b/perllib/Open311.pm @@ -368,7 +368,8 @@ sub _get { my $uri = URI->new( $self->endpoint ); - $params->{ jurisdiction_id } = $self->jurisdiction; + $params->{ jurisdiction_id } = $self->jurisdiction + if $self->jurisdiction; $uri->path( $uri->path . $path ); $uri->query_form( $params ); @@ -412,12 +413,11 @@ sub _post { my $uri = URI->new( $self->endpoint ); $uri->path( $uri->path . $path ); - my $req = POST $uri->as_string, - [ - jurisdiction_id => $self->jurisdiction, - api_key => $self->api_key, - %{ $params } - ]; + $params->{jurisdiction_id} = $self->jurisdiction + if $self->jurisdiction; + $params->{api_key} = $self->api_key + if $self->api_key; + my $req = POST $uri->as_string, $params; $self->debug_details( $self->debug_details . "\nrequest:" . $req->as_string ); diff --git a/perllib/Open311/PopulateServiceList.pm b/perllib/Open311/PopulateServiceList.pm index c47ab143d..0f6e32893 100644 --- a/perllib/Open311/PopulateServiceList.pm +++ b/perllib/Open311/PopulateServiceList.pm @@ -40,11 +40,11 @@ sub process_body { $self->_check_endpoints; my $list = $open311->get_service_list; - unless ( $list ) { - my $id = $self->_current_body->id; - my $mapit_url = mySociety::Config::get('MAPIT_URL'); - my $areas = join( ",", keys %{$self->_current_body->areas} ); + unless ( $list && $list->{service} ) { if ($self->verbose >= 1) { + my $id = $self->_current_body->id; + my $mapit_url = mySociety::Config::get('MAPIT_URL'); + my $areas = join( ",", keys %{$self->_current_body->areas} ); warn "Body $id for areas $areas - $mapit_url/areas/$areas.html - did not return a service list\n"; warn $open311->error; } @@ -156,9 +156,10 @@ sub _handle_existing_contact { } } - if ( $contact and lc( $self->_current_service->{metadata} ) eq 'true' ) { + my $metadata = $self->_current_service->{metadata} || ''; + if ( $contact and lc($metadata) eq 'true' ) { $self->_add_meta_to_contact( $contact ); - } elsif ( $contact and $contact->extra and lc( $self->_current_service->{metadata} ) eq 'false' ) { + } elsif ( $contact and $contact->extra and lc($metadata) eq 'false' ) { $contact->update( { extra => undef } ); } @@ -192,7 +193,8 @@ sub _create_contact { return; } - if ( $contact and lc( $self->_current_service->{metadata} ) eq 'true' ) { + my $metadata = $self->_current_service->{metadata} || ''; + if ( $contact and lc($metadata) eq 'true' ) { $self->_add_meta_to_contact( $contact ); } @@ -205,7 +207,7 @@ sub _create_contact { sub _add_meta_to_contact { my ( $self, $contact ) = @_; - print "Fetching meta data for $self->_current_service->{service_code}\n" if $self->verbose >= 2; + print "Fetching meta data for " . $self->_current_service->{service_code} . "\n" if $self->verbose >= 2; my $meta_data = $self->_current_open311->get_service_meta_info( $self->_current_service->{service_code} ); if ( ref $meta_data->{ attributes }->{ attribute } eq 'HASH' ) { |