INNER CODE UNIT · Python

_read_contract

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

def _read_contract(path=None):
    source = Path(path) if path is not None else _contract_path()
    try:
        document = json.loads(source.read_text(encoding="utf-8"))
    except (OSError, ValueError) as exc:
        raise DirectContractError(
            f"the GTK direct-operation contract is unreadable: {exc}"
        ) from exc
    if document.get("schemaVersion") != SCHEMA_VERSION:
        raise DirectContractError("the contract schema version is unsupported")
    denominators = document.get("actionableControlDenominators")
    if (not isinstance(denominators, dict)
            or denominators != EXPECTED_ACTIONABLE_DENOMINATORS
            or document.get("gtkActionableControlOccurrenceCount")
            != sum(EXPECTED_ACTIONABLE_DENOMINATORS.values())):
        raise DirectContractError(
            "the contract actionable-control denominator is not generator-derived")
    if document.get("gtkProxyCellCount") != 0:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…