* Exclude None from `get_processor` return type annotation
An exception is raised in case of error, so it can't ever return None
* Add support for OGC API Processes Subscriber
The subscription URLs are passed to the manager, which
then has to call them appropriately.
By default, managers have the attribute `supports_subscribing`
set to `False` in order to not break the API for these. The
subscriptions are only passed to if this is set to `True`
* Add ogc api callback class to conformance
https://docs.ogc.org/is/18-062r2/18-062r2.html#toc67
* Make successUri mandatory in subscriber
It's mandatory in the standard.
Thx @ricardogsilva !
* Use snake case in python for fields which are camel case in the api
Thx @ricardogsilva !
* Add subscriber to method docstring
* Provide default value for subscriber for managers not supporting it
Thanks @ricardogsilva !
* Factor out notification call into methods
This increases reusability by other managers
Thanks @ricardogsilva !
* Add an example call for a process subscriber
* Change test urls to valid urls
* Third party imports in own block
* Added enum for requested process execution modes
* Added data dict as expected base process.execute param
* Modified base process manager to select execution mode
* Pass requested execution mode to process manager
* Refactored dummy process manager to deal with request execution mode
* Use num value in response headers
* fix bug with non-existent process response headers
* fix flake8 errors
* fix python version errors
* fix python version errors
* fix python version errors
* refactor failing test
* refactor failing test
* fix line length
* fix using tuple in type annotations
* update docs and add missing param docstring
* swapped double quotes for single quotes for consistency
* MongoDB Jobmanager
* Add MongoDB-Jobmanager
Example configuration included
* Requested Fixes
Fixes Issues mentioned in latest Review
* Flake8 fixes
Code is fixed on the basis of a flake8 report
* Update ogcapi-processes.rst
* Update ogcapi-processes.rst
* Flake8 fixes
Fixes of flake8 errors
* add process manager
* process manager updating
* control connectivity from inside manager
* missing method on execute_process function signature
* adds tinydb depenedency for requirements-provider
* adds some processes tests
* process manager under server config, not a process
* additional html rendering for jobs and processes
* fixes typo in docstring
* complete html templating for jobs and processes
* considers timezone when formatting processing start/end datetimes
* expanded locales; locale and tz environment variables
* makes environment TZ a global from pygeoapi/__init__.py
* don't redefine built-in format
* adds placeholder values in process form if given as examples
* placeholder in form handles null example
* changes to process progress update
* updates and changes to processing web UI
* adds python3-distutils dep, and env changes for TZs and locales
* adds tinydb dependency for processes
* Adds libpq-dev and related deps for processing - should eventually be reconciled
* minor margin change
* fix bug in postJob.js that prevented results from displaying
* move process elements around to economise on space
* adds second, complex process
* post data may be bytes
* make external process example
* adds redis process manager (may be moved to third-party plugin eventually)
* reintroduce default async processing; refactoring managers; improving sync/async processing ui
* throw pygeoapi ManagerExecuteError, not redis exception
* adds test for async-execute
* restores original test host
* separates async execute handler function
* adds support for file uploads as processing inputs
* adds endpoint for file download as process output
* naming consistency
* Fix job submission form in case server url is relative (#549)
`new URL()` fails if the first argument isn't a complete url
* Implement job deletion in UI, api and tinydb
* Also allow deletion from job list
The UI could be fancier by reloading the page or just removing the
deleted job right away, but I don't want to start building that now.
* Delete output file when deleting a job
* typo in test case
* move delete button in job view
* remove Dockerfile changes (cf #470)
* removes some docs/source*.rst absent in master
* fixes whitespace
* fixes pip installs
* removes more locale-specific content, cf 70
* fixes duplicate app following merge
* removes redis as default plugin
* removes ENV_TZ, cf #407
* fix typo
* fixes syntax error
* process execution test cleanup
* Fix format detection in execute_process (#589)
Before, html was always selected.
* remove db files in code directories, fix flake8, specific functionality
* remove interactive capabilities in lieu of Swagger
* Add basic openapi documentation for job detail endpoint (#590)
It's somewhat superficial still, e.g. jobId is missing as
proper parameter in the UI.
* Show elapsed time for currently running jobs (#591)
* flake8, jobs workflow
* update docs, DB path in test config
* more code cleanup
* manager workflow cleanup
* add default dummy manager
* update docs
* fix routes
* fixed per comments
* fix per comments
* fix per comments
* fix travis
* simply describe process logic
* simplify describe process logic
Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
Co-authored-by: Jorge de Jesus <jorge.jesus@gmail.com>
Co-authored-by: totycro <bernhard.mallinger@eox.at>
Co-authored-by: Richard Law <richard.law@cartoncloud.com.au>