Sarah Hoffmann
282c0da941
return an error when q is used together with structured parameters
2023-08-08 15:54:55 +02:00
Sarah Hoffmann
996026e5ed
provide full URL in more field
...
This is a regression against the PHP version.
Fixes #3138 .
2023-08-06 17:50:02 +02:00
Sarah Hoffmann
8adeaa2c7e
fix regression with lat/lon in json output
...
lat, lon is returned as strings in the PHP output. Reproduce that in the
Python frontend.
See #3115 .
2023-08-01 14:27:43 +02:00
Sarah Hoffmann
e523da9e12
reintroduce file logging for Python frontend
2023-07-30 19:58:00 +02:00
Sarah Hoffmann
79bd54f610
add /polygons endpoint to Python v1 API
2023-07-22 20:59:13 +02:00
Sarah Hoffmann
30cef4d5fd
add deletable endpoint
2023-07-22 17:21:24 +02:00
Alessio Cimarelli
42c549274f
fix polgyon polygon typo
2023-07-17 10:11:57 +02:00
Sarah Hoffmann
0d338fa4c0
bdd: fix faking HTTP headers for python web frameworks
2023-06-22 14:00:33 +02:00
Sarah Hoffmann
0deb9262c9
use in operator for enum tests
...
Fixes a complaint by mypy.
2023-06-21 15:30:40 +02:00
Sarah Hoffmann
36df56b093
fix header name for browser languages
2023-06-20 11:56:43 +02:00
Sarah Hoffmann
317cc5c544
make code backwards-compatible with older Python versions
2023-05-26 23:33:35 +02:00
Sarah Hoffmann
8f299838f7
fix various failing BDD tests
2023-05-26 15:08:48 +02:00
Sarah Hoffmann
0843fefad3
fix geocodejson address assignment
...
The categories should be assigned the address part with the
highest address rank not lowest.
2023-05-26 11:43:11 +02:00
Sarah Hoffmann
371a780ef4
add server fronting for search endpoint
...
This also implements some of the quirks of free-text search of the
V1 API, in particular, search for categories and coordinates.
2023-05-26 11:40:45 +02:00
Sarah Hoffmann
0608cf1476
switch CLI search command to python implementation
2023-05-24 22:54:54 +02:00
Sarah Hoffmann
f335e78d1e
make localisation of results explicit
...
Localisation was previously done as part of the formatting but might
also be useful on its own when working with the results directly.
2023-05-24 18:12:34 +02:00
Sarah Hoffmann
32dbf83747
move zoom_to_rank computation to extra file
2023-05-18 18:29:41 +02:00
Sarah Hoffmann
bef5cea48e
switch API parameters to keyword arguments
...
This switches the input parameters for API calls to a generic
keyword argument catch-all which is then loaded into a dataclass
where the parameters are checked and forwarded to internal
function.
The dataclass gives more flexibility with the parameters and makes
it easier to reuse common parameters for the different API calls.
2023-05-18 17:42:23 +02:00
Sarah Hoffmann
1dce2b98b4
switch CLI lookup command to Python implementation
2023-04-03 14:40:41 +02:00
Sarah Hoffmann
86c4897c9b
add lookup call to server glue
2023-04-03 14:40:41 +02:00
Sarah Hoffmann
6e81596609
rename lookup() API to details and add lookup call
...
The initial plan to serve /details and /lookup endpoints from
the same API call turned out to be impractical, so the API now
also has deparate functions for both.
2023-04-03 14:40:41 +02:00
Sarah Hoffmann
1feac2069b
add BDD tests for new layers parameter
2023-03-30 09:54:55 +02:00
Sarah Hoffmann
6c67a4b500
switch reverse CLI command to Python implementation
2023-03-26 18:09:33 +02:00
Sarah Hoffmann
86b43dc605
make sure PHP and Python reverse code does the same
...
The only allowable difference is precision of coordinates. Python uses
a precision of 7 digits where possible, which corresponds to the
precision of OSM data.
Also fixes some smaller bugs found by the BDD tests.
2023-03-26 16:21:43 +02:00
Sarah Hoffmann
300921a93e
add server glue for reverse API call
2023-03-25 17:04:02 +01:00
Sarah Hoffmann
35b52c4656
add output formatters for ReverseResults
...
These formatters are written in a way that they can be reused for
search results later.
2023-03-25 15:45:03 +01:00
Sarah Hoffmann
1facfd019b
api: generalize error handling
...
Return a consistent error response which takes into account the chosen
content type. Also adds tests for V1 server glue.
2023-03-23 10:16:50 +01:00
Sarah Hoffmann
00e3a752c9
split SearchResult type
...
Use adapted types for the different result types. This makes it
easier to have adapted output formatting and means there are only
result fields that are filled.
2023-03-23 10:16:50 +01:00
Sarah Hoffmann
ee0c5e24bb
add a WKB decoder for the Point class
...
This allows to return point geometries from the database and makes
the SQL a bit simpler.
2023-02-16 17:29:56 +01:00
Sarah Hoffmann
24e7ffb289
add HTML-formatted debug output to lookup
2023-02-14 11:57:37 +01:00
Sarah Hoffmann
42c3754dcd
add tests for details result formatting and trim results
...
Values that are None are no longer included in the output to save
a bit of bandwidth.
2023-02-04 21:22:22 +01:00
Sarah Hoffmann
3ac70f7cc2
implement details endpoint in Python servers
2023-02-04 21:22:22 +01:00
Sarah Hoffmann
104722a56a
switch details cli command to new Python implementation
2023-02-04 21:22:22 +01:00
Sarah Hoffmann
77bec1261e
add streaming json writer for JSON output
2023-01-25 15:05:33 +01:00
Sarah Hoffmann
654b652530
factor out common server implementation code
...
Most of the server implementation of V1 API now resides in
api.v1.server_glue. The webframeworks only supply some glue code
which is independent to changes in the API code.
2023-01-24 21:39:19 +01:00
Sarah Hoffmann
8f4426fbc8
reorganize code around result formatting
...
Code is now organized by api version. So formatting has moved to
the api.v1 module. Instead of holding a separate ResultFormatter
object per result format, simply move the functions to the
formater collector and hand in the requested format as a parameter.
Thus reorganized, the api.v1 module can export three simple functions
for result formatting which in turn makes the code that uses
the formatters much simpler.
2023-01-24 17:20:51 +01:00