Fixed #101 : Implement PLURIAL

Fixed #103 : Implement PlurialNodeParser
Fixed #104 : Implement dynamic concept
Fixed #107 : PrepareEvalxxxEvaluator: context hints are lost on a second evaluation
This commit is contained in:
2021-08-05 19:07:21 +02:00
parent c798c2c570
commit 71d1b1d1ca
31 changed files with 600 additions and 105 deletions
@@ -1,8 +1,9 @@
from core.builtin_concepts import BuiltinConcepts
from evaluators.BaseEvaluator import OneReturnValueEvaluator
from evaluators.PrepareEvalCommon import PrepareEvalCommon
class PrepareEvalGlobalTruthEvaluator(OneReturnValueEvaluator):
class PrepareEvalGlobalTruthEvaluator(OneReturnValueEvaluator, PrepareEvalCommon):
"""
To recognize when the user input is a global truth
"""
@@ -39,11 +40,11 @@ class PrepareEvalGlobalTruthEvaluator(OneReturnValueEvaluator):
self.name,
True, sheerka.new(BuiltinConcepts.USER_INPUT, body=self.inner_text, user_name=context.event.user_id))
root = context.get_parents(lambda ec: ec.action in (BuiltinConcepts.EVALUATING_CONCEPT,
BuiltinConcepts.PROCESS_INPUT))
root = root[0] if root else context
root.add_to_protected_hints(BuiltinConcepts.EVAL_GLOBAL_TRUTH_REQUESTED)
root.add_to_protected_hints(BuiltinConcepts.EVAL_BODY_REQUESTED)
root.add_to_protected_hints(BuiltinConcepts.RETURN_BODY_REQUESTED)
self.update_context_hints(context,
self.inner_text, [
BuiltinConcepts.EVAL_GLOBAL_TRUTH_REQUESTED,
BuiltinConcepts.EVAL_BODY_REQUESTED,
BuiltinConcepts.RETURN_BODY_REQUESTED
])
return new_text_to_parse