INNER CODE UNIT · Python

_validate_binding

WMAL/kodachios · Kodachi-OS-10-stable/open/dock/lib/kodachi_direct.py:178

def _validate_binding(binding, identity, cells, linux_executables):
    if not isinstance(binding, dict):
        raise DirectContractError(f"{identity}: direct binding is not an object")
    kind = binding.get("kind")
    if kind not in DIRECT_KINDS:
        raise DirectContractError(f"{identity}: unsupported direct kind {kind!r}")
    executable = binding.get("executable")
    if not isinstance(executable, str) or not executable.startswith("/"):
        raise DirectContractError(f"{identity}: executable is not absolute")
    if os.path.basename(executable) in PROXY_BASENAMES:
        raise DirectContractError(
            f"{identity}: presentation proxy {executable!r} cannot execute a GTK control"
        )
    if executable in DENIED_EXECUTABLES:
        raise DirectContractError(
            f"{identity}: denied executable {executable!r} cannot execute a GTK control")
    if kind == "linux" and executable not in linux_executables:
        raise DirectContractError(

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…