GameAI / explainers /explainer_router.py
j-js's picture
Update explainers/explainer_router.py
e79a6a4 verified
raw
history blame contribute delete
731 Bytes
from __future__ import annotations
from typing import Optional
from models import ExplainerResult
from explainers.explainer_percent import explain_percent_question
from explainers.explainer_ratio import explain_ratio_question
from explainers.explainer_algebra import explain_algebra_question
from explainers.explainer_probability import explain_probability_question
def route_explainer(text: str) -> Optional[ExplainerResult]:
for fn in (
explain_percent_question,
explain_ratio_question,
explain_algebra_question,
explain_probability_question
):
result = fn(text)
if result is not None and getattr(result, "understood", False):
return result
return None