Merge pull request #1381 from dalf/fix-upd-osm
openstreetmap: localized results.
This commit is contained in:
		
						commit
						8e155b40bc
					
				| @ -29,6 +29,7 @@ about = { | |||||||
| # engine dependent config | # engine dependent config | ||||||
| categories = ['map'] | categories = ['map'] | ||||||
| paging = False | paging = False | ||||||
|  | language_support = True | ||||||
| 
 | 
 | ||||||
| # search-url | # search-url | ||||||
| base_url = 'https://nominatim.openstreetmap.org/' | base_url = 'https://nominatim.openstreetmap.org/' | ||||||
| @ -141,6 +142,9 @@ def request(query, params): | |||||||
|     params['url'] = base_url + search_string.format(query=urlencode({'q': query})) |     params['url'] = base_url + search_string.format(query=urlencode({'q': query})) | ||||||
|     params['route'] = route_re.match(query) |     params['route'] = route_re.match(query) | ||||||
|     params['headers']['User-Agent'] = searx_useragent() |     params['headers']['User-Agent'] = searx_useragent() | ||||||
|  | 
 | ||||||
|  |     accept_language = 'en' if params['language'] == 'all' else params['language'] | ||||||
|  |     params['headers']['Accept-Language'] = accept_language | ||||||
|     return params |     return params | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -202,7 +206,7 @@ def get_wikipedia_image(raw_value): | |||||||
|     return get_external_url('wikimedia_image', raw_value) |     return get_external_url('wikimedia_image', raw_value) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def fetch_wikidata(nominatim_json, user_langage): | def fetch_wikidata(nominatim_json, user_language): | ||||||
|     """Update nominatim_json using the result of an unique to wikidata |     """Update nominatim_json using the result of an unique to wikidata | ||||||
| 
 | 
 | ||||||
|     For result in nominatim_json: |     For result in nominatim_json: | ||||||
| @ -223,10 +227,10 @@ def fetch_wikidata(nominatim_json, user_langage): | |||||||
|                 wd_to_results.setdefault(wd_id, []).append(result) |                 wd_to_results.setdefault(wd_id, []).append(result) | ||||||
| 
 | 
 | ||||||
|     if wikidata_ids: |     if wikidata_ids: | ||||||
|         user_langage = 'en' if user_langage == 'all' else user_langage |         user_language = 'en' if user_language == 'all' else user_language.split('-')[0] | ||||||
|         wikidata_ids_str = " ".join(wikidata_ids) |         wikidata_ids_str = " ".join(wikidata_ids) | ||||||
|         query = wikidata_image_sparql.replace('%WIKIDATA_IDS%', sparql_string_escape(wikidata_ids_str)).replace( |         query = wikidata_image_sparql.replace('%WIKIDATA_IDS%', sparql_string_escape(wikidata_ids_str)).replace( | ||||||
|             '%LANGUAGE%', sparql_string_escape(user_langage) |             '%LANGUAGE%', sparql_string_escape(user_language) | ||||||
|         ) |         ) | ||||||
|         wikidata_json = send_wikidata_query(query) |         wikidata_json = send_wikidata_query(query) | ||||||
|         for wd_result in wikidata_json.get('results', {}).get('bindings', {}): |         for wd_result in wikidata_json.get('results', {}).get('bindings', {}): | ||||||
| @ -241,7 +245,7 @@ def fetch_wikidata(nominatim_json, user_langage): | |||||||
|                 # overwrite wikipedia link |                 # overwrite wikipedia link | ||||||
|                 wikipedia_name = wd_result.get('wikipediaName', {}).get('value') |                 wikipedia_name = wd_result.get('wikipediaName', {}).get('value') | ||||||
|                 if wikipedia_name: |                 if wikipedia_name: | ||||||
|                     result['extratags']['wikipedia'] = user_langage + ':' + wikipedia_name |                     result['extratags']['wikipedia'] = user_language + ':' + wikipedia_name | ||||||
|                 # get website if not already defined |                 # get website if not already defined | ||||||
|                 website = wd_result.get('website', {}).get('value') |                 website = wd_result.get('website', {}).get('value') | ||||||
|                 if ( |                 if ( | ||||||
|  | |||||||
| @ -35,7 +35,7 @@ | |||||||
|     <tr><th scope="row">{{ info.label }}</th><td>{{ info.value|safe }}</td></tr> |     <tr><th scope="row">{{ info.label }}</th><td>{{ info.value|safe }}</td></tr> | ||||||
|     {%- endfor -%} |     {%- endfor -%} | ||||||
|     {%- for link in result.links -%} |     {%- for link in result.links -%} | ||||||
|     <tr><th scope="row">{{ link.label }}</th><td><a class="text-info cursor-pointer" href="{{ link.url }}">{{ link.url|safe }}</a></td></tr> |     <tr><th scope="row">{{ link.label }}</th><td><a class="text-info cursor-pointer" href="{{ link.url }}">{{ link.url_label|safe }}</a></td></tr> | ||||||
|     {%- endfor -%} |     {%- endfor -%} | ||||||
| </table> | </table> | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user