diff --git a/server/extension/sql/20_geocode_street.sql b/server/extension/sql/20_geocode_street.sql index 00674f3..ae9a9ab 100644 --- a/server/extension/sql/20_geocode_street.sql +++ b/server/extension/sql/20_geocode_street.sql @@ -275,10 +275,8 @@ $$ LANGUAGE @@plpythonu@@ STABLE PARALLEL RESTRICTED; CREATE OR REPLACE FUNCTION cdb_dataservices_server._cdb_tomtom_geocode_street_point(username TEXT, orgname TEXT, searchtext TEXT, city TEXT DEFAULT NULL, state_province TEXT DEFAULT NULL, country TEXT DEFAULT NULL) RETURNS Geometry AS $$ - from iso3166 import countries from cartodb_services.tools import ServiceManager, QuotaExceededException from cartodb_services.tomtom import TomTomGeocoder - from cartodb_services.tools.country import country_to_iso3 from cartodb_services.refactor.service.tomtom_geocoder_config import TomTomGeocoderConfigBuilder import cartodb_services @@ -290,15 +288,9 @@ RETURNS Geometry AS $$ service_manager.assert_within_limits() geocoder = TomTomGeocoder(service_manager.config.tomtom_api_key, service_manager.logger, service_manager.config.service_params) - country_iso3166 = None - if country: - country_iso3 = country_to_iso3(country) - if country_iso3: - country_iso3166 = countries.get(country_iso3).alpha2.lower() - coordinates = geocoder.geocode(searchtext=searchtext, city=city, state_province=state_province, - country=country_iso3166) + country=country) if coordinates: service_manager.quota_service.increment_success_service_use() plan = plpy.prepare("SELECT ST_SetSRID(ST_MakePoint($1, $2), 4326); ", ["double precision", "double precision"]) diff --git a/server/lib/python/cartodb_services/cartodb_services/tomtom/bulk_geocoder.py b/server/lib/python/cartodb_services/cartodb_services/tomtom/bulk_geocoder.py index a92da4c..005889d 100644 --- a/server/lib/python/cartodb_services/cartodb_services/tomtom/bulk_geocoder.py +++ b/server/lib/python/cartodb_services/cartodb_services/tomtom/bulk_geocoder.py @@ -5,7 +5,6 @@ from cartodb_services.geocoder import geocoder_error_response from cartodb_services.tomtom import TomTomGeocoder from cartodb_services.tools.qps import qps_retry from cartodb_services.tools.exceptions import ServiceException -from cartodb_services.tools.country import country_to_iso3 class TomTomBulkGeocoder(TomTomGeocoder, StreetPointBulkGeocoder): @@ -37,8 +36,6 @@ class TomTomBulkGeocoder(TomTomGeocoder, StreetPointBulkGeocoder): for search in searches: (search_id, address, city, state, country) = search - country = country_to_iso3(country) or country - address = address.encode('utf-8') if address else None city = city.encode('utf-8') if city else None state = state.encode('utf-8') if state else None diff --git a/server/lib/python/cartodb_services/cartodb_services/tomtom/geocoder.py b/server/lib/python/cartodb_services/cartodb_services/tomtom/geocoder.py index 81148ec..9f7c97f 100644 --- a/server/lib/python/cartodb_services/cartodb_services/tomtom/geocoder.py +++ b/server/lib/python/cartodb_services/cartodb_services/tomtom/geocoder.py @@ -10,6 +10,7 @@ from cartodb_services.metrics import Traceable from cartodb_services.tools.exceptions import ServiceException from cartodb_services.tools.qps import qps_retry from cartodb_services.tools.normalize import normalize +from cartodb_services.tools.country import country_to_iso3 HOST = 'https://api.tomtom.com' API_BASEURI = '/search/2' @@ -48,7 +49,7 @@ class TomTomGeocoder(Traceable): def _request_uri(self, searchtext, country=None, apiKey=None): baseuri = REQUEST_BASEURI if country: - baseuri += '&countrySet={}'.format(country) + baseuri += '&countrySet={}'.format(country_to_iso3(country) or country) baseuri = baseuri + '&key={apiKey}' if apiKey else baseuri return URITemplate(baseuri).expand(apiKey=apiKey, searchtext=searchtext.encode('utf-8'))