def _iter_types(self, types): valid_keys = ["type", "parameters"] for t in types: unknown_keys = check_superfluous_keys(t, valid_keys) if unknown_keys: raise InvalidInputError("Unknown keys in type definition: {0}.".format(unknown_keys)) yield { "type": t.get("type"), "parameters": t.get("parameters") or {} # defaults to emtpy dict }
def _iter_objects(self, objects): valid_keys = ["id", "unique_id", "type", "parameters", "children", "data"] for obj in objects: unknown_keys = check_superfluous_keys(obj, valid_keys) if unknown_keys: raise InvalidInputError("Unknown keys in object: {0}.".format(unknown_keys)) yield { "id": obj.get("id"), "unique_id": obj.get("unique_id"), "type": obj.get("type"), "params": obj.get("parameters") or {}, "children": obj.get("children") or [], "data": obj.get("data") or {} }