lp1863252 make Geo::Coder::Free optional
authorJason Etheridge <jason@EquinoxInitiative.org>
Tue, 9 Feb 2021 16:38:22 +0000 (11:38 -0500)
committerBill Erickson <berickxx@gmail.com>
Thu, 11 Mar 2021 21:00:53 +0000 (16:00 -0500)
Restore Geo::Coder::Google to the CPAN module list and remove the Googlev3 package.

Geo::Coder::Google requires an API key, and Geo::Coder::Googlev3 purports not to
but is currently giving a REQUEST_DENIED to requests and is a known issue.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>

Open-ILS/src/extras/install/Makefile.debian-buster
Open-ILS/src/extras/install/Makefile.debian-jessie
Open-ILS/src/extras/install/Makefile.debian-stretch
Open-ILS/src/extras/install/Makefile.fedora
Open-ILS/src/extras/install/Makefile.ubuntu-bionic
Open-ILS/src/extras/install/Makefile.ubuntu-focal
Open-ILS/src/perlmods/lib/OpenILS/Application/Geo.pm

index 0222574..682f650 100644 (file)
@@ -41,7 +41,6 @@ export DEBS = \
        libemail-mime-perl\
        libexcel-writer-xlsx-perl\
        libgd-graph3d-perl\
-       libgeo-coder-googlev3-perl\
        libgeo-coder-osm-perl\
        liblocale-maketext-lexicon-perl\
        liblog-log4perl-perl\
@@ -96,7 +95,7 @@ export DEB_APACHE_DISCONF = \
     serve-cgi-bin
 
 export CPAN_MODULES = \
-       Geo::Coder::Free \
+       Geo::Coder::Google \
        Business::OnlinePayment::PayPal \
        Email::Send
 
index e79c709..a10484b 100644 (file)
@@ -41,7 +41,6 @@ export DEBS = \
        libemail-mime-perl\
        libexcel-writer-xlsx-perl\
        libgd-graph3d-perl\
-       libgeo-coder-googlev3-perl\
        libgeo-coder-osm-perl\
        liblocale-maketext-lexicon-perl\
        liblog-log4perl-perl\
@@ -97,7 +96,7 @@ export DEB_APACHE_DISCONF = \
     serve-cgi-bin
 
 export CPAN_MODULES = \
-       Geo::Coder::Free \
+       Geo::Coder::Google \
        Business::OnlinePayment::PayPal \
        Email::Send
 
index 2964b47..e773dd1 100644 (file)
@@ -41,7 +41,6 @@ export DEBS = \
        libemail-mime-perl\
        libexcel-writer-xlsx-perl\
        libgd-graph3d-perl\
-       libgeo-coder-googlev3-perl\
        libgeo-coder-osm-perl\
        liblocale-maketext-lexicon-perl\
        liblog-log4perl-perl\
@@ -96,7 +95,7 @@ export DEB_APACHE_DISCONF = \
     serve-cgi-bin
 
 export CPAN_MODULES = \
-       Geo::Coder::Free \
+       Geo::Coder::Google \
        Business::OnlinePayment::PayPal \
        Email::Send
 
index ae6d4b0..754e6e1 100644 (file)
@@ -72,7 +72,6 @@ FEDORA_RPMS = \
        yaz
 
 export CPAN_MODULES = \
-       Geo::Coder::Free \
        Geo::Coder::OSM \
        Geo::Coder::Google \
        Excel::Writer::XLSX \
index ab6bfbc..21525b2 100644 (file)
@@ -40,7 +40,6 @@ export DEBS = \
        libemail-mime-perl\
        libexcel-writer-xlsx-perl\
        libgd-graph3d-perl\
-       libgeo-coder-googlev3-perl\
        libgeo-coder-osm-perl\
        liblocale-maketext-lexicon-perl\
        liblog-log4perl-perl\
@@ -92,7 +91,7 @@ export DEB_APACHE_DISCONF = \
     serve-cgi-bin
 
 export CPAN_MODULES = \
-       Geo::Coder::Free \
+       Geo::Coder::Google \
        Business::OnlinePayment::PayPal \
        Email::Send \
        MARC::Charset \
index e4d06ff..eba60fe 100644 (file)
@@ -40,7 +40,6 @@ export DEBS = \
        libemail-mime-perl\
        libexcel-writer-xlsx-perl\
        libgd-graph3d-perl\
-       libgeo-coder-googlev3-perl\
        libgeo-coder-osm-perl\
        liblocale-maketext-lexicon-perl\
        liblog-log4perl-perl\
@@ -92,7 +91,7 @@ export DEB_APACHE_DISCONF = \
     serve-cgi-bin
 
 export CPAN_MODULES = \
-       Geo::Coder::Free \
+       Geo::Coder::Google \
        Business::OnlinePayment::PayPal \
        Email::Send \
        MARC::Charset \
index 05874de..cb0d92a 100644 (file)
@@ -16,7 +16,11 @@ my $U = "OpenILS::Application::AppUtils";
 
 use OpenSRF::Utils::Logger qw/$logger/;
 
-use Geo::Coder::Free;
+my $have_geocoder_free = eval {
+    require Geo::Coder::Free;
+    Geo::Coder::Free->import();
+    1;
+};
 use Geo::Coder::OSM;
 use Geo::Coder::Google;
 
@@ -162,8 +166,13 @@ sub retrieve_coordinates { # invoke 3rd party API for latitude/longitude lookup
     my $geo_coder;
     eval {
         if ($service->service_code eq 'Free') {
-            $logger->debug("Using Geo::Coder::Free (service id $service_id)");
-            $geo_coder = Geo::Coder::Free->new();
+            if ($have_geocoder_free) {
+                $logger->debug("Using Geo::Coder::Free (service id $service_id)");
+                $geo_coder = Geo::Coder::Free->new();
+            } else {
+                $logger->error("geosort: Geo::Coder::Free not installed but referenced.");
+                return OpenILS::Event->new('GEOCODING_LOCATION_NOT_FOUND');
+            }
         } elsif ($service->service_code eq 'Google') {
             $logger->debug("Using Geo::Coder::Google (service id $service_id)");
             $geo_coder = Geo::Coder::Google->new(key => $service->api_key);