Skip to content

Commit 172574c

Browse files
committed
Issue #366 push error handling into get_process_definition_from_url
1 parent 9318710 commit 172574c

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

openeo_driver/ProcessGraphDeserializer.py

+1-10
Original file line numberDiff line numberDiff line change
@@ -2067,16 +2067,7 @@ def evaluate_process_from_url(process_id: str, namespace: str, args: dict, env:
20672067
:param process_id: process id of process that should be available at given URL (namespace)
20682068
:param namespace: URL of process definition
20692069
"""
2070-
try:
2071-
process_definition: ProcessDefinition = get_process_definition_from_url(process_id=process_id, url=namespace)
2072-
except OpenEOApiException:
2073-
raise
2074-
except Exception as e:
2075-
raise OpenEOApiException(
2076-
status_code=400,
2077-
code="ProcessNamespaceInvalid",
2078-
message=f"Process '{process_id}' specified with invalid namespace '{namespace}': {e!r}",
2079-
) from e
2070+
process_definition: ProcessDefinition = get_process_definition_from_url(process_id=process_id, url=namespace)
20802071

20812072
return _evaluate_process_graph_process(
20822073
process_id=process_id,

openeo_driver/processgraph.py

+15
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,21 @@ def get_process_definition_from_url(process_id: str, url: str) -> ProcessDefinit
5858
- a JSON doc with process listing, compatible with
5959
the `GET /process_graphs` openEO API endpoint.
6060
"""
61+
try:
62+
process_definition: ProcessDefinition = _get_process_definition_from_url(process_id=process_id, url=url)
63+
except OpenEOApiException:
64+
raise
65+
except Exception as e:
66+
raise OpenEOApiException(
67+
status_code=400,
68+
code="ProcessNamespaceInvalid",
69+
message=f"Process '{process_id}' specified with invalid namespace '{url}': {e!r}",
70+
) from e
71+
72+
return process_definition
73+
74+
75+
def _get_process_definition_from_url(process_id: str, url: str) -> ProcessDefinition:
6176
_log.debug(f"Trying to load process definition for {process_id=} from {url=}")
6277
# TODO: send headers, e.g. with custom user agent?
6378
# TODO: add/support caching. Add retrying too?

0 commit comments

Comments
 (0)