summaryrefslogtreecommitdiff
path: root/searx/engines/photon.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/engines/photon.py')
-rw-r--r--searx/engines/photon.py82
1 files changed, 46 insertions, 36 deletions
diff --git a/searx/engines/photon.py b/searx/engines/photon.py
index f85dcad86..16ea88194 100644
--- a/searx/engines/photon.py
+++ b/searx/engines/photon.py
@@ -33,9 +33,7 @@ supported_languages = ['de', 'en', 'fr', 'it']
# do search-request
def request(query, params):
- params['url'] = base_url +\
- search_string.format(query=urlencode({'q': query}),
- limit=number_of_results)
+ params['url'] = base_url + search_string.format(query=urlencode({'q': query}), limit=number_of_results)
if params['language'] != 'all':
language = params['language'].split('_')[0]
@@ -75,59 +73,71 @@ def response(resp):
# continue if invalide osm-type
continue
- url = result_base_url.format(osm_type=osm_type,
- osm_id=properties.get('osm_id'))
+ url = result_base_url.format(osm_type=osm_type, osm_id=properties.get('osm_id'))
- osm = {'type': osm_type,
- 'id': properties.get('osm_id')}
+ osm = {'type': osm_type, 'id': properties.get('osm_id')}
geojson = r.get('geometry')
if properties.get('extent'):
- boundingbox = [properties.get('extent')[3],
- properties.get('extent')[1],
- properties.get('extent')[0],
- properties.get('extent')[2]]
+ boundingbox = [
+ properties.get('extent')[3],
+ properties.get('extent')[1],
+ properties.get('extent')[0],
+ properties.get('extent')[2],
+ ]
else:
# TODO: better boundingbox calculation
- boundingbox = [geojson['coordinates'][1],
- geojson['coordinates'][1],
- geojson['coordinates'][0],
- geojson['coordinates'][0]]
+ boundingbox = [
+ geojson['coordinates'][1],
+ geojson['coordinates'][1],
+ geojson['coordinates'][0],
+ geojson['coordinates'][0],
+ ]
# address calculation
address = {}
# get name
- if properties.get('osm_key') == 'amenity' or\
- properties.get('osm_key') == 'shop' or\
- properties.get('osm_key') == 'tourism' or\
- properties.get('osm_key') == 'leisure':
+ if (
+ properties.get('osm_key') == 'amenity'
+ or properties.get('osm_key') == 'shop'
+ or properties.get('osm_key') == 'tourism'
+ or properties.get('osm_key') == 'leisure'
+ ):
address = {'name': properties.get('name')}
# add rest of adressdata, if something is already found
if address.get('name'):
- address.update({'house_number': properties.get('housenumber'),
- 'road': properties.get('street'),
- 'locality': properties.get('city',
- properties.get('town', # noqa
- properties.get('village'))), # noqa
- 'postcode': properties.get('postcode'),
- 'country': properties.get('country')})
+ address.update(
+ {
+ 'house_number': properties.get('housenumber'),
+ 'road': properties.get('street'),
+ 'locality': properties.get(
+ 'city', properties.get('town', properties.get('village')) # noqa
+ ), # noqa
+ 'postcode': properties.get('postcode'),
+ 'country': properties.get('country'),
+ }
+ )
else:
address = None
# append result
- results.append({'template': 'map.html',
- 'title': title,
- 'content': '',
- 'longitude': geojson['coordinates'][0],
- 'latitude': geojson['coordinates'][1],
- 'boundingbox': boundingbox,
- 'geojson': geojson,
- 'address': address,
- 'osm': osm,
- 'url': url})
+ results.append(
+ {
+ 'template': 'map.html',
+ 'title': title,
+ 'content': '',
+ 'longitude': geojson['coordinates'][0],
+ 'latitude': geojson['coordinates'][1],
+ 'boundingbox': boundingbox,
+ 'geojson': geojson,
+ 'address': address,
+ 'osm': osm,
+ 'url': url,
+ }
+ )
# return results
return results