* Update script to allow to get bbox query parameter interactively
* Remove unnecessary line
* Remove '?' prefix for bbox
* Switch back to leaflet version 1.3.1
* Added pycharm-related rule to .gitignore
* added blank line at end of .gitignore
---------
Co-authored-by: Ricardo Garcia Silva <ricardo@kartoza.com>
Here we have JS code which parses the parameters
as json, so they must not be escaped.
I've noticed that right now, quotes are escaped as "
which makes it invalid json and you get a JS error
It's not 100% clear to me what caused this, but probably
a jinja update or this change: 997a83530e
The implementation uses tojson from jinja which already has an
`indent` parameter, but for some reason it didn't indent it,
so this still uses indention in JS.
* Fix for Django build, changes to documentation, and dev dependencies updated
* remove example configuration files
* Added readthedocs configuration file
* added section on building the documentation
* renamed docs/requirements-docs.txt to docs/requirements.txt
* renamed requirements file in readthedocs configuration
* Added documentation requirements installation to GitHub build workflow
* fixed pagination next page response
* fixed line too long
* Update get_collection_items test to accomodate last page fix
Note that this feature can't be tested with the CSV provider
because it uses the number of current items as numberMatched,
which doesn't seem correct but is an independent issue.
https://github.com/geopython/pygeoapi/blob/c7c07855e5cfa95b88d6d0d11f5c23111e38da95/pygeoapi/provider/csv_.py#L173
---------
Co-authored-by: Juan Pablo Duque <juan-pablo-duque@hotmail.com>
Co-authored-by: Juan Duque <juanpablo.duque@polimi.it>
* Echo process
Added an testbale echo process which supports the pause parameter
* Formatting
Changes to conform to flake8 formatting
* Updated link entry
* Move get_manager to base module
* Process manager now knows about existing processes
* Guard API from manager.get_job() errors
* Guard API from job-related errors
* moved process-related exceptions to pygeoapi.process.base
* manager is now responsible for instantiating a processor
* Guard API from manager.get_job() errors
* Guard API from job-related errors
* made process description links optional
* removed duplicated exception class
* Removed process.exceptions module, which got accidentally reintroduced after a rebase
---------
Co-authored-by: Ricardo Garcia Silva <ricardo@kartoza.com>
* Process manager now knows about existing processes
* Move get_manager to base module
* Process manager now knows about existing processes
* Guard API from manager.get_job() errors
* Guard API from job-related errors
* fix flak8-related issue on tests
* moved process-related exceptions to pygeoapi.process.base
---------
Co-authored-by: Ricardo Garcia Silva <ricardo@kartoza.com>
* Process manager now knows about existing processes
* Move get_manager to base module
* manager is now responsible for instantiating a processor
* manager.execute_process now accepts process_id instead of processor instance
* Add license to test file
* fix email address typo
---------
Co-authored-by: Ricardo Garcia Silva <ricardo@kartoza.com>
* Process manager now knows about existing processes
* get processes from the process manager rather than the config
* Move get_manager to base module
---------
Co-authored-by: Ricardo Garcia Silva <ricardo@kartoza.com>
ERROR: The Compose file './docker-compose.yml' is invalid because:
services.elastic_search.environment contains an invalid type, it should be an object, or
an array
(pygeoapi)
Co-authored-by: doublebyte1 <info@doublebyte.net>
Previously, request.format was assumed to always be defined when
generating `prev` and `next` links.
This commit changes this by using json as default format. This supports
the use case of curl nicely, but we could also choose e.g. html.
This branch is not yet tested because I didn't manage to find/produce test
data for single items which have next/previous links.
Fixes https://github.com/geopython/pygeoapi/issues/1272
* Update tinydb manager test to current api
* Add tinydb parallel tests to CI
* Use filelock library to help make tinydb threadsafe
The tests for parallel access sometimes failed with the previous
implementation. I'm currently not 100% sure why, but it might have
to do with the fact that the file is already created in the TinyDB
constructor which was not protected by a lock.
Also not protecting the reads can read to invalid reads in the case
when a read and a write happen simultaneously and the read catches
partially written data.
This implementation allows for fewer concurrency but is quite simple,
so we should be able to be confident about its safety.
Also the TinyDB manager is not intended for high performance and its
IO operations are orders of magnitude faster than requests over the
network or process executions anyway.
* - look for metadata.json, only when we are using the tilejson format; in other cases, this file is missing and that is going to make pygeoapi fail
* - updated configuration examples in documentation, to use "default" as metadata for vector tiles ("raw" does not work)
- added metadata format configuration for the pg_tileserv provider example
* - Added conformance class for Mapbox Vector Tiles
* - updated number of conformance classes on tests
---------
Co-authored-by: doublebyte1 <info@doublebyte.net>
Attempt to return `@iot.count` in included in response. Including the query param `'$count' = 'true'` is costly on the SensorThings API endpoint when accessing the Observations entity. Some STA endpoints are including the count as a default.
* Address case-insensitive for headers in execute_process
Headers fields are general case insensitive. I found my client was sending the prefer field as lower case, resulting in my processes being run synchronously. This commit changes the default value of the dict.get command for 'Prefer' to try looking up 'prefer' if it cannot find the capital version of the field in the headers dictionary.
* Address flake8 issues
Tweaks to style to address flake8 flagged issues.
* update time handling for edr provider
* add logging for time parsing
* fix time handling errors
Convert times to np.datetime64 to allow greater than/less than comparison. If slicing over time, separate xarray sel into temporal and spatial component (cannot use method='nearest' for time slices).
* fix temporal query dictionary
* fix time error handling
* fix list handling for single timestep
* single timestep handling
* spatial-only query amendment
* code clean-up
* convert datetime
* move code to methods
for reuse between position and cube. #1239
* formatting fixes
#1239
* time query test
#1239
* clean-up
* move time querying tests to api testing
* Update test_api.py
* update time key
* modify test values
* updates for desired query behavior
#1239
* Update xarray_edr.py
* sanitize datetime_ parameter with Z
OpenAPI document provides RFC 3339 compliant examples (exclusively specify UTC as the timezone with a trailing Z; want to avoid confusion between allowed datetime query and the documentation. #1239
* requested changes from @webb-ben and @tomkralidis
#1247