from core.sheerka import ExecutionContext from core.sheerka_logger import get_logger class BaseEvaluator: """ Base class to evaluate ReturnValues """ PREFIX = "evaluators." def __init__(self, name, steps, priority: int, enabled=True): self.log = get_logger(self.PREFIX + self.__class__.__name__) self.init_log = get_logger("init." + self.PREFIX + self.__class__.__name__) self.verbose_log = get_logger("verbose." + self.PREFIX + self.__class__.__name__) self.name = self.PREFIX + name self.steps = steps self.priority = priority self.enabled = enabled class OneReturnValueEvaluator(BaseEvaluator): """ Evaluate one specific return value """ def matches(self, context: ExecutionContext, return_value): pass def eval(self, context: ExecutionContext, return_value): pass class AllReturnValuesEvaluator(BaseEvaluator): """ Evaluates the groups of ReturnValues """ def matches(self, context: ExecutionContext, return_values): pass def eval(self, context: ExecutionContext, return_values): pass