forked from hans/Nominatim
bdd: move output format computation into response
This commit is contained in:
@@ -40,6 +40,10 @@ class GenericResponse:
|
|||||||
""" Common base class for all API responses.
|
""" Common base class for all API responses.
|
||||||
"""
|
"""
|
||||||
def __init__(self, page, fmt, errorcode=200):
|
def __init__(self, page, fmt, errorcode=200):
|
||||||
|
fmt = fmt.strip()
|
||||||
|
if fmt == 'jsonv2':
|
||||||
|
fmt = 'json'
|
||||||
|
|
||||||
self.page = page
|
self.page = page
|
||||||
self.format = fmt
|
self.format = fmt
|
||||||
self.errorcode = errorcode
|
self.errorcode = errorcode
|
||||||
|
|||||||
@@ -148,12 +148,7 @@ def website_search_request(context, fmt, query, addr):
|
|||||||
|
|
||||||
outp, status = send_api_query('search', params, fmt, context)
|
outp, status = send_api_query('search', params, fmt, context)
|
||||||
|
|
||||||
if fmt is None or fmt == 'jsonv2 ':
|
context.response = SearchResponse(outp, fmt or 'json', status)
|
||||||
outfmt = 'json'
|
|
||||||
else:
|
|
||||||
outfmt = fmt.strip()
|
|
||||||
|
|
||||||
context.response = SearchResponse(outp, outfmt, status)
|
|
||||||
|
|
||||||
@when(u'sending (?P<fmt>\S+ )?reverse coordinates (?P<lat>.+)?,(?P<lon>.+)?')
|
@when(u'sending (?P<fmt>\S+ )?reverse coordinates (?P<lat>.+)?,(?P<lon>.+)?')
|
||||||
def website_reverse_request(context, fmt, lat, lon):
|
def website_reverse_request(context, fmt, lat, lon):
|
||||||
@@ -165,14 +160,7 @@ def website_reverse_request(context, fmt, lat, lon):
|
|||||||
|
|
||||||
outp, status = send_api_query('reverse', params, fmt, context)
|
outp, status = send_api_query('reverse', params, fmt, context)
|
||||||
|
|
||||||
if fmt is None:
|
context.response = ReverseResponse(outp, fmt or 'xml', status)
|
||||||
outfmt = 'xml'
|
|
||||||
elif fmt == 'jsonv2 ':
|
|
||||||
outfmt = 'json'
|
|
||||||
else:
|
|
||||||
outfmt = fmt.strip()
|
|
||||||
|
|
||||||
context.response = ReverseResponse(outp, outfmt, status)
|
|
||||||
|
|
||||||
@when(u'sending (?P<fmt>\S+ )?details query for (?P<query>.*)')
|
@when(u'sending (?P<fmt>\S+ )?details query for (?P<query>.*)')
|
||||||
def website_details_request(context, fmt, query):
|
def website_details_request(context, fmt, query):
|
||||||
@@ -184,42 +172,21 @@ def website_details_request(context, fmt, query):
|
|||||||
params['place_id'] = query
|
params['place_id'] = query
|
||||||
outp, status = send_api_query('details', params, fmt, context)
|
outp, status = send_api_query('details', params, fmt, context)
|
||||||
|
|
||||||
if fmt is None:
|
context.response = GenericResponse(outp, fmt or 'json', status)
|
||||||
outfmt = 'json'
|
|
||||||
else:
|
|
||||||
outfmt = fmt.strip()
|
|
||||||
|
|
||||||
context.response = GenericResponse(outp, outfmt, status)
|
|
||||||
|
|
||||||
@when(u'sending (?P<fmt>\S+ )?lookup query for (?P<query>.*)')
|
@when(u'sending (?P<fmt>\S+ )?lookup query for (?P<query>.*)')
|
||||||
def website_lookup_request(context, fmt, query):
|
def website_lookup_request(context, fmt, query):
|
||||||
params = { 'osm_ids' : query }
|
params = { 'osm_ids' : query }
|
||||||
outp, status = send_api_query('lookup', params, fmt, context)
|
outp, status = send_api_query('lookup', params, fmt, context)
|
||||||
|
|
||||||
if fmt == 'json ':
|
context.response = SearchResponse(outp, fmt or 'xml', status)
|
||||||
outfmt = 'json'
|
|
||||||
elif fmt == 'jsonv2 ':
|
|
||||||
outfmt = 'json'
|
|
||||||
elif fmt == 'geojson ':
|
|
||||||
outfmt = 'geojson'
|
|
||||||
elif fmt == 'geocodejson ':
|
|
||||||
outfmt = 'geocodejson'
|
|
||||||
else:
|
|
||||||
outfmt = 'xml'
|
|
||||||
|
|
||||||
context.response = SearchResponse(outp, outfmt, status)
|
|
||||||
|
|
||||||
@when(u'sending (?P<fmt>\S+ )?status query')
|
@when(u'sending (?P<fmt>\S+ )?status query')
|
||||||
def website_status_request(context, fmt):
|
def website_status_request(context, fmt):
|
||||||
params = {}
|
params = {}
|
||||||
outp, status = send_api_query('status', params, fmt, context)
|
outp, status = send_api_query('status', params, fmt, context)
|
||||||
|
|
||||||
if fmt is None:
|
context.response = StatusResponse(outp, fmt or 'text', status)
|
||||||
outfmt = 'text'
|
|
||||||
else:
|
|
||||||
outfmt = fmt.strip()
|
|
||||||
|
|
||||||
context.response = StatusResponse(outp, outfmt, status)
|
|
||||||
|
|
||||||
@step(u'(?P<operator>less than|more than|exactly|at least|at most) (?P<number>\d+) results? (?:is|are) returned')
|
@step(u'(?P<operator>less than|more than|exactly|at least|at most) (?P<number>\d+) results? (?:is|are) returned')
|
||||||
def validate_result_number(context, operator, number):
|
def validate_result_number(context, operator, number):
|
||||||
|
|||||||
Reference in New Issue
Block a user