Fixed RET functionnality misbehaviour
This commit is contained in:
@@ -43,6 +43,16 @@ class SheerkaEvaluateConcept(BaseService):
|
||||
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def apply_ret(concept):
|
||||
"""
|
||||
Check if a concept has its RET part defined
|
||||
If True, returns it
|
||||
:param concept:
|
||||
:return:
|
||||
"""
|
||||
return concept.get_value(ConceptParts.RET) if ConceptParts.RET in concept.values else concept
|
||||
|
||||
def manage_infinite_recursion(self, context):
|
||||
"""
|
||||
We look for the fist parent that has a body that means something
|
||||
@@ -189,7 +199,7 @@ class SheerkaEvaluateConcept(BaseService):
|
||||
evaluated = self.evaluate_concept(sub_context, to_resolve)
|
||||
sub_context.add_values(return_values=evaluated)
|
||||
if evaluated.key == to_resolve.key:
|
||||
return evaluated
|
||||
return self.apply_ret(evaluated)
|
||||
else:
|
||||
error = evaluated
|
||||
|
||||
@@ -324,9 +334,9 @@ class SheerkaEvaluateConcept(BaseService):
|
||||
concept.init_key() # only does it if needed
|
||||
concept.metadata.is_evaluated = "body" in all_metadata_to_eval
|
||||
|
||||
# # update the cache for concepts with no variable
|
||||
# if len(concept.metadata.variables) == 0:
|
||||
# self.sheerka.cache_manager.put(self.sheerka.CONCEPTS_BY_ID_ENTRY, concept.id, concept)
|
||||
# update the cache for concepts with no variable
|
||||
if len(concept.metadata.variables) == 0:
|
||||
self.sheerka.cache_manager.put(self.sheerka.CONCEPTS_BY_ID_ENTRY, concept.id, concept)
|
||||
|
||||
return concept
|
||||
|
||||
|
||||
Reference in New Issue
Block a user