File size: 555 Bytes
bd67155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from __future__ import annotations

from typing import Callable, Dict

from ..models import StateModel, TaskGrade, TaskSpec
from .easy import grade as easy_grade
from .hard import grade as hard_grade
from .medium import grade as medium_grade


GRADERS: Dict[str, Callable[[TaskSpec, StateModel], TaskGrade]] = {
    "easy_support_routing": easy_grade,
    "medium_support_resolution": medium_grade,
    "hard_support_queue": hard_grade,
}


def grade_task(task: TaskSpec, state: StateModel) -> TaskGrade:
    return GRADERS[task.grader_name](task, state)