Skip to content

Commit 36b1067

Browse files
Fix argument unpacking in OpenEOProcessGraph (#101)
Co-authored-by: Gerald Walter Irsiegler <[email protected]>
1 parent ce90c1e commit 36b1067

File tree

4 files changed

+39
-11
lines changed

4 files changed

+39
-11
lines changed

openeo_pg_parser_networkx/graph.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -463,13 +463,15 @@ def node_callable(*args, parent_callables, named_parameters=None, **kwargs):
463463
processed_result = {}
464464
processed_result['info'] = result
465465
processed_result['entity_type'] = type(result).__name__
466-
if result is not None:
467-
results_cache_node = Data(
468-
str(uuid.uuid4()), processed_result['entity_type']
469-
)
470-
results_cache_node._info = processed_result['info']
471-
task.add_output(results_cache_node)
472-
self.workflow.add_data(results_cache_node)
466+
467+
# if result is not None:
468+
results_cache_node = Data(
469+
str(uuid.uuid4()), processed_result['entity_type']
470+
)
471+
results_cache_node._info = processed_result['info']
472+
task.add_output(results_cache_node)
473+
self.workflow.add_data(results_cache_node)
474+
473475
results_cache[node] = result
474476

475477
# Loading data info
@@ -633,12 +635,12 @@ def profile_function(func):
633635
usage) to extract."""
634636

635637
@wraps(func)
636-
def wrapper(*args, named_parameters, **kwargs):
638+
def wrapper(*args, named_parameters=None, **kwargs):
637639
start_dt = datetime.now()
638640
start_timestamp = start_dt.strftime("%Y-%m-%d %H:%M:%S.%f")[:-3]
639641

640642
try:
641-
result = func(*args, named_parameters, **kwargs)
643+
result = func(*args, named_parameters=named_parameters, **kwargs)
642644
status = "Ok"
643645
except Exception as e:
644646
result = str(e)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "openeo-pg-parser-networkx"
3-
version = "2025.5.1"
3+
version = "2025.5.2"
44

55
description = "Parse OpenEO process graphs from JSON to traversible Python objects."
66
authors = ["Lukas Weidenholzer <[email protected]>", "Sean Hoyal <[email protected]>", "Valentina Hutter <[email protected]>", "Gerald Irsiegler <[email protected]>"]

tests/test_pg_parser.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,33 @@ def test_full_parse(process_graph_path):
3333
parsed_graph_from_file.plot()
3434

3535

36+
def test_named_parameters():
37+
# Create a mock process that verifies named parameters
38+
def mock_process(*args, named_parameters=None, **kwargs):
39+
assert named_parameters is not None
40+
assert named_parameters == {"test_param": "test_value"}
41+
return "success"
42+
43+
# Create process graph
44+
pg_data = {
45+
"process_graph": {
46+
"test_node": {"process_id": "mock_process", "arguments": {}, "result": True}
47+
}
48+
}
49+
50+
# Create process graph
51+
parsed_graph = OpenEOProcessGraph(pg_data)
52+
53+
# Create process registry with our mock process
54+
process_registry = {"mock_process": Process({}, mock_process, "predefined")}
55+
56+
# Execute process graph with named parameters
57+
callable = parsed_graph.to_callable(process_registry)
58+
result = callable(named_parameters={"test_param": "test_value"})
59+
60+
assert result == "success"
61+
62+
3663
def test_function_generation():
3764
from openeo_pg_parser_networkx.utils import generate_curve_fit_function
3865

tests/test_pg_provenance.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ def test_execute_returns_result_and_workflow(process_graph_path):
3333
workflow = pg.workflow
3434

3535
# Assertions
36-
assert result is not None, "Result should not be None"
3736
assert workflow is not None, "Workflow should not be None"
3837
assert isinstance(
3938
workflow, Workflow

0 commit comments

Comments
 (0)