From 4496ce31aaafef6bd09004878a4e41fc243bc777 Mon Sep 17 00:00:00 2001 From: qho <qho@odoo.com> Date: Wed, 1 Apr 2020 08:12:31 +0000 Subject: [PATCH] [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> --- addons/base_geolocalize/models/base_geocoder.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/base_geolocalize/models/base_geocoder.py b/addons/base_geolocalize/models/base_geocoder.py index 5c2cee79ccad..f3e8d78528f3 100644 --- a/addons/base_geolocalize/models/base_geocoder.py +++ b/addons/base_geolocalize/models/base_geocoder.py @@ -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] -- GitLab