def from_dict(data: dict) -> 'Cut': feature_info = data.pop('features') supervision_infos = data.pop('supervisions') return Cut(**data, features=Features.from_dict(feature_info), supervisions=[ SupervisionSegment.from_dict(s) for s in supervision_infos ])
def test_supervision_custom_attributes_serialization(): sup = SupervisionSegment(id="X", recording_id="X", start=0.0, duration=0.1) sup.eye_color = "green" sup.wer = 0.41 sup2 = SupervisionSegment.from_dict(sup.to_dict()) assert sup2.eye_color == "green" assert sup2.custom["eye_color"] == "green" assert sup2.wer == 0.41 assert sup2.custom["wer"] == 0.41 with pytest.raises(AttributeError): sup.nonexistent_attr