INNER CODE UNIT · Python
_validate_string_list
WMAL/kodachios · Kodachi-OS-10-stable/open/dock/lib/kodachi_direct.py:172
def _validate_string_list(value, field, identity):
if not isinstance(value, list) or not all(isinstance(item, str) for item in value):
raise DirectContractError(f"{identity}: {field} must be a string list")
return list(value)
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"