INNER CODE UNIT · Python
preview
WMAL/kodachios · Kodachi-OS-10-stable/open/dock/lib/kodachi_direct.py:536
def preview(self, key, parameters=None):
bindings = self.bindings(key)
values = dict(parameters or {})
allowed = {item["name"] for binding in bindings
for item in binding["parameters"]}
unexpected = sorted(set(values) - allowed)
if unexpected:
raise DirectContractError(
"unexpected typed parameter(s): " + ", ".join(unexpected))
commands = []
for binding in bindings:
names = {item["name"] for item in binding["parameters"]}
selected = {name: values[name] for name in names if name in values}
if names and not selected:
argv = [binding["executable"], *binding["argv"]]
if binding.get("needsSudo") or binding.get("runAsUser"):
prefix = [SUDO, "-n"]
if binding.get("runAsUser"):