24 lines
644 B
Python
24 lines
644 B
Python
from evaluators.BaseEvaluator import BaseEvaluator
|
|
from parsers.DefaultParser import DefConceptNode
|
|
import logging
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
|
|
class AddConceptEvaluator(BaseEvaluator):
|
|
"""
|
|
Used to add a new concept
|
|
"""
|
|
|
|
def __init__(self):
|
|
super().__init__("Add new Concept", 50)
|
|
|
|
def matches(self, context, items):
|
|
return len(items) == 1 and items[0].status and isinstance(items[0].value, DefConceptNode)
|
|
|
|
def eval(self, context, items):
|
|
log.debug("Adding a new concept")
|
|
node = items[0].value
|
|
sheerka = context.sheerka
|
|
return sheerka.add_concept(context, node)
|