[FIX] base_geolocalize: access blocked by OpenStreetMap

The geolocation service from OpenStreetMap will not be unblocked until a
'meaningful' and identical user-agent added in the request.

opw-2221857

closes odoo/odoo#48805

X-original-commit: 9018039b835547ea4adbc32a23901214613a033a
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This commit is contained in:
qho
2020-04-01 21:22:04 +00:00
committed by Nicolas Martinelli
parent 9664c69825
commit 4496ce31aa
@@ -87,8 +87,12 @@ class GeoCoder(models.AbstractModel):
return None
url = 'https://nominatim.openstreetmap.org/search'
try:
result = requests.get(url, {'format': 'json', 'q': addr}).json()
headers = {'User-Agent': 'Odoo (http://www.odoo.com/contactus)'}
response = requests.get(url, headers=headers, params={'format': 'json', 'q': addr})
_logger.info('openstreetmap nominatim service called')
if response.status_code != 200:
_logger.error('Request to openstreetmap failed.\nCode: %s\nContent: %s' % (response.status_code, response.content))
result = response.json()
except Exception as e:
self._raise_query_error(e)
geo = result[0]