Skip to content

Commit dc7e6da

Browse files
committed
Issue #731 support processing parameter extension in build_process_dict
1 parent 57c67fe commit dc7e6da

File tree

2 files changed

+40
-2
lines changed

2 files changed

+40
-2
lines changed

openeo/rest/udp.py

+20-2
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,12 @@ def build_process_dict(
2626
categories: Optional[List[str]] = None,
2727
examples: Optional[List[dict]] = None,
2828
links: Optional[List[dict]] = None,
29+
default_synchronous_options: Optional[dict] = None,
30+
default_job_options: Optional[dict] = None,
31+
default_service_options: Optional[dict] = None,
2932
) -> dict:
3033
"""
31-
Build a dictionary describing a process with metadaa (`process_graph`, `parameters`, `description`, ...)
34+
Build a dictionary describing a process with metadata (`process_graph`, `parameters`, `description`, ...)
3235
3336
:param process_graph: dict or builder representing a process graph
3437
:param process_id: identifier of the process
@@ -39,7 +42,19 @@ def build_process_dict(
3942
:param categories: list of categories
4043
:param examples: list of examples, may be used for unit tests
4144
:param links: list of links related to the process
45+
:param default_synchronous_options: default processing options for synchronous processing
46+
(per `Processing Parameters Extension <https://github.com/Open-EO/openeo-api/tree/draft/extensions/processing-parameters>`_)
47+
:param default_job_options: default options for batch job execution
48+
(per `Processing Parameters Extension <https://github.com/Open-EO/openeo-api/tree/draft/extensions/processing-parameters>`_)
49+
:param default_service_options: default options for secondary service related processing
50+
(per `Processing Parameters Extension <https://github.com/Open-EO/openeo-api/tree/draft/extensions/processing-parameters>`_)
51+
4252
:return: dictionary in openEO "process graph with metadata" format
53+
54+
.. versionchanged:: 0.39.0
55+
Added ``default_synchronous_options``, ``default_job_options`` and ``default_service_options`` arguments
56+
(per `Processing Parameters Extension <https://github.com/Open-EO/openeo-api/tree/draft/extensions/processing-parameters>`_)
57+
4358
"""
4459
process = dict_no_none(
4560
process_graph=as_flat_graph(process_graph),
@@ -49,7 +64,10 @@ def build_process_dict(
4964
returns=returns,
5065
categories=categories,
5166
examples=examples,
52-
links=links
67+
links=links,
68+
default_synchronous_options=default_synchronous_options,
69+
default_job_options=default_job_options,
70+
default_service_options=default_service_options,
5371
)
5472
if parameters is not None:
5573
process["parameters"] = [

tests/rest/test_udp.py

+20
Original file line numberDiff line numberDiff line change
@@ -675,3 +675,23 @@ def test_build_process_dict_udf_context_param_direct(con100):
675675
"summary": "do_udf value",
676676
}
677677
assert actual == expected
678+
679+
680+
def test_build_process_dict_processing_parameters(con100):
681+
actual = build_process_dict(
682+
process_graph={
683+
"add": {"process_id": "add", "arguments": {"x": {"from_parameter": "data"}, "y": 1}, "result": True}
684+
},
685+
process_id="increment",
686+
default_job_options={"memory": "4GB", "disk": "1TB"},
687+
default_synchronous_options={"timeout": 600},
688+
)
689+
expected = {
690+
"id": "increment",
691+
"process_graph": {
692+
"add": {"arguments": {"x": {"from_parameter": "data"}, "y": 1}, "process_id": "add", "result": True}
693+
},
694+
"default_job_options": {"disk": "1TB", "memory": "4GB"},
695+
"default_synchronous_options": {"timeout": 600},
696+
}
697+
assert actual == expected

0 commit comments

Comments
 (0)