SelectOption is only invalid if label, value, and index are missing (#463)

This commit is contained in:
Kerem Yilmaz
2024-06-12 16:14:31 -07:00
committed by GitHub
parent 5f48de28c8
commit bce6b6ae32

View File

@@ -211,12 +211,20 @@ def parse_action(action: Dict[str, Any], data_extraction_goal: str | None = None
)
if action_type == ActionType.SELECT_OPTION:
option = action["option"]
if option is None:
raise ValidationError("SelectOptionAction requires an 'option' field")
label = option.get("label")
value = option.get("value")
index = option.get("index")
if label is None and value is None and index is None:
raise ValidationError("At least one of 'label', 'value', or 'index' must be provided for a SelectOption")
return SelectOptionAction(
element_id=element_id,
option=SelectOption(
label=action["option"]["label"],
value=action["option"]["value"],
index=action["option"]["index"],
label=label,
value=value,
index=index,
),
reasoning=reasoning,
confidence_float=confidence_float,