mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
details support json output
This commit is contained in:
committed by
Sarah Hoffmann
parent
3cdbcbff8f
commit
1e28f2478c
@@ -18,3 +18,36 @@ Feature: Object details
|
||||
| keywords |
|
||||
| 1 |
|
||||
Then the result is valid html
|
||||
|
||||
Scenario: JSON Details
|
||||
When sending json details query for W78099902
|
||||
Then the result is valid json
|
||||
And result has not attributes place_search_name_keywords,place_search_address_keywords,address_lines,linked_lines,parentof_lines
|
||||
|
||||
Scenario: JSON Details with keywords
|
||||
When sending json details query for W78099902
|
||||
| keywords |
|
||||
| 1 |
|
||||
Then the result is valid json
|
||||
And result has attributes place_search_name_keywords,place_search_address_keywords
|
||||
|
||||
Scenario: JSON Details with addressdetails
|
||||
When sending json details query for W78099902
|
||||
| addressdetails |
|
||||
| 1 |
|
||||
Then the result is valid json
|
||||
And result has attributes address_lines
|
||||
|
||||
Scenario: JSON Details with linkedplaces
|
||||
When sending json details query for R123924
|
||||
| linkedplaces |
|
||||
| 1 |
|
||||
Then the result is valid json
|
||||
And result has attributes linked_lines
|
||||
|
||||
Scenario: JSON Details with childplaces
|
||||
When sending json details query for W78099902
|
||||
| childplaces |
|
||||
| 1 |
|
||||
Then the result is valid json
|
||||
And result has attributes parentof_lines
|
||||
|
||||
@@ -232,6 +232,10 @@ class DetailsResponse(GenericResponse):
|
||||
options={'char-encoding' : 'utf8'})
|
||||
self.result = {}
|
||||
|
||||
def parse_json(self):
|
||||
self.result = [json.JSONDecoder(object_pairs_hook=OrderedDict).decode(self.page)]
|
||||
|
||||
|
||||
@when(u'searching for "(?P<query>.*)"(?P<dups> with dups)?')
|
||||
def query_cmd(context, query, dups):
|
||||
""" Query directly via PHP script.
|
||||
@@ -379,7 +383,12 @@ def website_details_request(context, fmt, query):
|
||||
params['place_id'] = query
|
||||
outp, status = send_api_query('details', params, fmt, context)
|
||||
|
||||
context.response = DetailsResponse(outp, 'html', status)
|
||||
if fmt is None:
|
||||
outfmt = 'html'
|
||||
else:
|
||||
outfmt = fmt.strip()
|
||||
|
||||
context.response = DetailsResponse(outp, outfmt, status)
|
||||
|
||||
@when(u'sending (?P<fmt>\S+ )?lookup query for (?P<query>.*)')
|
||||
def website_lookup_request(context, fmt, query):
|
||||
|
||||
Reference in New Issue
Block a user