workflow: do not fail geolocating None as address (#15624)

This commit is contained in:
Frédéric Péters 2017-03-24 16:52:04 +01:00
parent 57455936ad
commit 9a7deaf742
2 changed files with 10 additions and 0 deletions

View File

@ -1660,6 +1660,12 @@ def test_geolocate_address(pub):
item.perform(formdata)
assert formdata.geolocations == {}
# check for None
item.address_string = '=None'
formdata.geolocations = None
item.perform(formdata)
assert formdata.geolocations == {}
# check for nominatim server error
formdata.geolocations = None
with mock.patch('wcs.wf.geolocate.http_get_page') as http_get_page:

View File

@ -112,6 +112,10 @@ class GeolocateWorkflowStatusItem(WorkflowStatusItem):
get_logger().error('error in template for address string [%r]', e)
return
if not address:
get_logger().error('error determining address')
return
url = '%s/search?q=%s&format=json' % (nominatim_url, urllib2.quote(address))
url += '&accept-language=%s' % (get_publisher().get_site_language() or 'en')
if get_publisher().get_site_option('nominatim_key'):