in core/src/klio_core/config/_io.py [0:0]
def check(self, attribute, value):
def valid_field(field_dict):
is_dict = isinstance(field_dict, dict)
required_keys = [
"name",
"type",
"mode",
] # are all of these required?
return is_dict and all(k in field_dict for k in required_keys)
def contains_invalid_fields(field_list):
return any(valid_field(f) is False for f in field_list)
has_fields = value.get("fields")
if not has_fields or contains_invalid_fields(value.get("fields", [])):
raise ValueError(
"Must be a dict with the key `fields` set to a list of"
"dict, each of which have the keys "
"`name`, `type`, and `mode`"
)