INNER CODE UNIT · Python
_require_type
trinodb/trino · .github/bin/build-matrix-schedule-aware.py:317
def _require_type(obj: Any, t: type[T], name: str | None = None) -> T:
if not isinstance(obj, t):
raise ValueError(
f"{name} should be a {t.__name__}, was {obj}"
if name
else f"unexpected value {obj}, expecting a {t.__name__}"
)
return obj
def _expect_str_list(d: dict[str, Any], key: str) -> list[str]:
values = _require_type(d.get(key, []), list, key)
return [_require_type(value, str) for value in values]
def _expect_str_lists(d: dict[str, Any], key: str) -> list[list[str]]:
"""
Parses a schedule config's "modules" field into a list of module sets (one matrix job each).