Fixed #49 : working

This commit is contained in:
2021-03-18 11:49:48 +01:00
parent 27bc6c4ba1
commit 36515aebb7
5 changed files with 153 additions and 63 deletions
+10 -1
View File
@@ -3,10 +3,13 @@ from __future__ import annotations
from itertools import product
from typing import TYPE_CHECKING, Generator, Union
from core.builtin_concepts_ids import BuiltinConcepts
from core.concept import Concept
from core.global_symbols import NotInit
from core.rule import Rule, ACTION_TYPE_PRINT
from core.utils import as_bag
from evaluators.PythonEvaluator import Expando
from sheerkapickle.utils import is_primitive
from sheerkarete.alpha import AlphaMemory
from sheerkarete.beta import ReteNode, BetaMemory
from sheerkarete.bind_node import BindNode
@@ -413,7 +416,13 @@ class ReteNetwork:
else:
try:
value = getattr(obj, attribute)
inner_add_vme(name, fact_id, attribute, value)
if (isinstance(value, Concept) and value.key == BuiltinConcepts.SHEERKA or
isinstance(value, Expando) and value.get_name() == "sheerka"):
value = "__sheerka__"
if is_primitive(value):
self.add_wme(WME(fact_id, attribute, value))
else:
inner_add_vme(name, fact_id, attribute, value)
except AttributeError:
pass