diff --git a/ewoksorange/bindings/bindings.py b/ewoksorange/bindings/bindings.py index cad62ba337a3b626827d8f3cd9e9acbc02a48ea7..ce52efcbe04a3abc79db1e1350f632e39fd06d28 100644 --- a/ewoksorange/bindings/bindings.py +++ b/ewoksorange/bindings/bindings.py @@ -1,6 +1,7 @@ import os import sys import tempfile +from typing import Optional from ewokscore import load_graph from .owsconvert import ewoks_to_ows @@ -10,8 +11,10 @@ from ..canvas.__main__ import main as launchcanvas __all__ = ["execute_graph"] -def execute_graph(graph, representation=None, varinfo=None): - ewoksgraph = load_graph(source=graph, representation=representation) +def execute_graph(graph, load_options: Optional[dict] = None, **execute_options): + if load_options is None: + load_options = dict() + ewoksgraph = load_graph(source=graph, **load_options) if ewoksgraph.is_cyclic: raise RuntimeError("Orange can only execute DAGs") if ewoksgraph.has_conditional_links: @@ -21,6 +24,6 @@ def execute_graph(graph, representation=None, varinfo=None): # So map to a (temporary) persistent representation first. with tempfile.TemporaryDirectory() as tmpdirname: filename = os.path.join(tmpdirname, "ewokstaskgraph.ows") - ewoks_to_ows(ewoksgraph, filename, varinfo=varinfo) + ewoks_to_ows(ewoksgraph, filename, **execute_options) argv = [sys.argv[0], filename] launchcanvas(argv=argv)