logo

searx

My custom branche(s) on searx, a meta-search engine git clone https://hacktivis.me/git/searx.git
commit: 672f1c674ca63b7589c1bc6b0c32caf439bd16db
parent 48058075c06af1f4a0a21045b983dffe14ab9bff
Author: Thomas Pointhuber <thomas.pointhuber@gmx.at>
Date:   Tue, 16 Dec 2014 17:01:25 +0100

[fix] pep8

Diffstat:

Msearx/engines/openstreetmap.py9+++++----
Msearx/engines/photon.py49+++++++++++++++++++++++++++++--------------------
2 files changed, 34 insertions(+), 24 deletions(-)

diff --git a/searx/engines/openstreetmap.py b/searx/engines/openstreetmap.py @@ -16,13 +16,14 @@ categories = ['map'] paging = False # search-url -base_url = 'https://nominatim.openstreetmap.org/search/{query}?format=json&polygon_geojson=1&addressdetails=1' +base_url = 'https://nominatim.openstreetmap.org/' +search_string = 'search/{query}?format=json&polygon_geojson=1&addressdetails=1' result_base_url = 'https://openstreetmap.org/{osm_type}/{osm_id}' # do search-request def request(query, params): - params['url'] = base_url.format(query=query) + params['url'] = base_url + search_string.format(query=query) # using searx User-Agent params['headers']['User-Agent'] = searx_useragent() @@ -71,8 +72,8 @@ def response(resp): address.update({'house_number': address_raw.get('house_number'), 'road': address_raw.get('road'), 'locality': address_raw.get('city', - address_raw.get('town', - address_raw.get('village'))), + address_raw.get('town', # noqa + address_raw.get('village'))), # noqa 'postcode': address_raw.get('postcode'), 'country': address_raw.get('country'), 'country_code': address_raw.get('country_code')}) diff --git a/searx/engines/photon.py b/searx/engines/photon.py @@ -19,22 +19,25 @@ language_support = True number_of_results = 10 # search-url -search_url = 'https://photon.komoot.de/api/?{query}&limit={limit}' +base_url = 'https://photon.komoot.de/' +search_string = 'api/?{query}&limit={limit}' result_base_url = 'https://openstreetmap.org/{osm_type}/{osm_id}' # do search-request def request(query, params): - params['url'] = search_url.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': - params['url'] = params['url'] + "&lang=" + params['language'].replace('_', '-') + params['url'] = params['url'] +\ + "&lang=" + params['language'].replace('_', '-') # using searx User-Agent params['headers']['User-Agent'] = searx_useragent() - - # FIX: SSLError: [Errno 1] _ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed + + # FIX: SSLError: SSL3_GET_SERVER_CERTIFICATE:certificate verify failed params['verify'] = False return params @@ -47,15 +50,15 @@ def response(resp): # parse results for r in json.get('features', {}): - + properties = r.get('properties') - + if not properties: continue - + # get title title = properties['name'] - + # get osm-type if properties.get('osm_type') == 'N': osm_type = 'node' @@ -66,7 +69,7 @@ def response(resp): else: # continue if invalide osm-type continue - + url = result_base_url.format(osm_type=osm_type, osm_id=properties.get('osm_id')) @@ -74,14 +77,20 @@ def response(resp): '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]] + + if properties.get('extent'): + 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]] - - # TODO: address calculation + boundingbox = [geojson['coordinates'][1], + geojson['coordinates'][1], + geojson['coordinates'][0], + geojson['coordinates'][0]] + + # address calculation address = {} # get name @@ -90,14 +99,14 @@ def response(resp): 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', - properties.get('village'))), + properties.get('town', # noqa + properties.get('village'))), # noqa 'postcode': properties.get('postcode'), 'country': properties.get('country')}) else: