INNER CODE UNIT · Python
run
WMAL/kodachios · Kodachi-OS-10-stable/open/dock/lib/kodachi_direct.py:739
def run(key, parameters=None, stdin_values=None, timeout=240, contract=None,
sleeper=time.sleep):
"""Run every direct binding in order and stop at the first failure."""
direct = contract or registry()
transcript = []
final_code = 0
result_code = 0
bindings = direct.bindings(key)
policy = direct.operation(key)["executionPolicy"]
steps = policy["orderedSteps"]
all_parameter_names = {
item["name"] for binding in bindings for item in binding["parameters"]
}
values = dict(parameters or {})
unexpected = sorted(set(values) - all_parameter_names)
if unexpected:
raise DirectContractError(
"unexpected typed parameter(s): " + ", ".join(unexpected))