Fixing Mapbox geocoding validity checks

This commit is contained in:
Antonio 2018-03-16 16:55:08 +01:00
parent a34da0adb5
commit 552a7d4886
3 changed files with 22 additions and 9 deletions

View File

@ -683,4 +683,4 @@ Nov 27, 2015:
* Release Geocoder API BETA 1
* Added the organization public user to the api key check
https://github.com/CartoDB/dataservices-api/releases/tag/0.0.1-beta
https://github.com/CartoDB/dataservices-api/releases/tag/0.0.1-beta

View File

@ -64,18 +64,31 @@ class MapboxGeocoder(Traceable):
latitude = location[1]
return [longitude, latitude]
def _validate_input(self, searchtext, city=None, state_province=None,
country=None):
if searchtext and searchtext.strip():
return True
elif city:
return True
elif state_province:
return True
return False
@qps_retry(qps=10)
def geocode(self, searchtext, city=None, state_province=None,
country=None):
if searchtext and searchtext.strip():
address = [normalize(searchtext)]
if city:
address.append(normalize(city))
if state_province:
address.append(normalize(state_province))
else:
if not self._validate_input(searchtext, city, state_province, country):
return []
address = []
if searchtext and searchtext.strip():
address.append(normalize(searchtext))
if city:
address.append(normalize(city))
if state_province:
address.append(normalize(state_province))
country = [country] if country else None
try:

View File

@ -10,7 +10,7 @@ from setuptools import setup, find_packages
setup(
name='cartodb_services',
version='0.17.4',
version='0.17.5',
description='CartoDB Services API Python Library',