Added mandatory evaluator steps
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from core.ast.nodes import python_to_concept
|
||||
from core.builtin_concepts import ParserResultConcept, ReturnValueConcept
|
||||
from core.builtin_concepts import ParserResultConcept, ReturnValueConcept, BuiltinConcepts
|
||||
from core.builtin_helpers import get_names
|
||||
from core.concept import Concept
|
||||
from evaluators.BaseEvaluator import OneReturnValueEvaluator
|
||||
@@ -39,7 +39,7 @@ class AddConceptEvaluator(OneReturnValueEvaluator):
|
||||
NAME = "AddNewConcept"
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(self.NAME, 50)
|
||||
super().__init__(self.NAME, [BuiltinConcepts.EVALUATION], 50)
|
||||
|
||||
def matches(self, context, return_value):
|
||||
return return_value.status and \
|
||||
|
||||
@@ -18,7 +18,7 @@ class AddConceptInSetEvaluator(OneReturnValueEvaluator):
|
||||
NAME = "AddConceptInSet"
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(self.NAME, 50)
|
||||
super().__init__(self.NAME, [BuiltinConcepts.EVALUATION], 50)
|
||||
|
||||
def matches(self, context, return_value):
|
||||
return return_value.status and \
|
||||
|
||||
@@ -8,15 +8,16 @@ class BaseEvaluator:
|
||||
"""
|
||||
|
||||
PREFIX = "evaluators."
|
||||
enabled = True
|
||||
|
||||
def __init__(self, name, priority: int):
|
||||
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):
|
||||
|
||||
@@ -18,7 +18,7 @@ class ConceptEvaluator(OneReturnValueEvaluator):
|
||||
]
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(self.NAME, 50)
|
||||
super().__init__(self.NAME, [BuiltinConcepts.EVALUATION], 50)
|
||||
|
||||
def matches(self, context, return_value):
|
||||
return return_value.status and \
|
||||
|
||||
@@ -12,7 +12,7 @@ class ConceptNodeEvaluator(OneReturnValueEvaluator):
|
||||
NAME = "ConceptNode"
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(self.NAME, 60) # more than the ConceptNodeEvaluator
|
||||
super().__init__(self.NAME, [BuiltinConcepts.EVALUATION], 60) # more than the ConceptNodeEvaluator
|
||||
|
||||
def matches(self, context, return_value):
|
||||
if not return_value.status:
|
||||
|
||||
@@ -13,7 +13,7 @@ class DuplicateConceptEvaluator(AllReturnValuesEvaluator):
|
||||
NAME = "DuplicateConcept"
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(self.NAME, 10)
|
||||
super().__init__(self.NAME, [BuiltinConcepts.AFTER_EVALUATION], 10)
|
||||
self.already_defined = None
|
||||
|
||||
def matches(self, context, return_values):
|
||||
|
||||
@@ -15,7 +15,7 @@ class MultipleSameSuccessEvaluator(AllReturnValuesEvaluator):
|
||||
NAME = "MultipleSameSuccess"
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(self.NAME, 10)
|
||||
super().__init__(self.NAME, [BuiltinConcepts.AFTER_EVALUATION], 10)
|
||||
self.success = []
|
||||
|
||||
def matches(self, context, return_values):
|
||||
|
||||
@@ -14,7 +14,7 @@ class OneSuccessEvaluator(AllReturnValuesEvaluator):
|
||||
NAME = "OneSuccess"
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(self.NAME, 10)
|
||||
super().__init__(self.NAME, [BuiltinConcepts.AFTER_EVALUATION], 10)
|
||||
self.successful_return_value = None
|
||||
|
||||
def matches(self, context, return_values):
|
||||
|
||||
@@ -16,7 +16,7 @@ class PythonEvaluator(OneReturnValueEvaluator):
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(self.NAME, 50)
|
||||
super().__init__(self.NAME, [BuiltinConcepts.EVALUATION], 50)
|
||||
|
||||
def matches(self, context, return_value):
|
||||
return return_value.status and \
|
||||
|
||||
@@ -17,7 +17,7 @@ class TooManySuccessEvaluator(AllReturnValuesEvaluator):
|
||||
NAME = "TooManySuccess"
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(self.NAME, 10)
|
||||
super().__init__(self.NAME, [BuiltinConcepts.AFTER_EVALUATION], 10)
|
||||
self.success = []
|
||||
|
||||
def matches(self, context, return_values):
|
||||
|
||||
Reference in New Issue
Block a user