Fixed parsing of BNF concepts mixed with isaset concepts

This commit is contained in:
2020-07-02 16:32:02 +02:00
parent 2c5840752a
commit f26c391d3f
12 changed files with 413 additions and 123 deletions
+2 -1
View File
@@ -2,7 +2,7 @@ import json
from logging import Logger
import core.utils
from core.concept import Concept
from core.concept import Concept, NotInitialized
from core.sheerka.services.SheerkaExecute import ParserInput
from sheerkapickle import utils, tags, handlers
@@ -38,6 +38,7 @@ class SheerkaPickler:
from evaluators.BaseEvaluator import BaseEvaluator
self.to_reduce.append(ToReduce(lambda o: isinstance(o, (BaseParser, BaseEvaluator)), lambda o: o.name))
self.to_reduce.append(ToReduce(lambda o: isinstance(o, ParserInput), lambda o: o.as_text()))
self.to_reduce.append(ToReduce(lambda o: isinstance(o, NotInitialized), lambda o: None))
def flatten(self, obj):
if utils.is_primitive(obj):
+2 -2
View File
@@ -4,7 +4,7 @@ from core.sheerka.services.SheerkaExecute import ParserInput
from evaluators.BaseEvaluator import BaseEvaluator
from parsers.BaseParser import BaseParser
from sheerkapickle.handlers import BaseHandler, registry
from core.concept import Concept, PROPERTIES_TO_SERIALIZE as CONCEPT_PROPERTIES_TO_SERIALIZE, ConceptParts
from core.concept import Concept, PROPERTIES_TO_SERIALIZE as CONCEPT_PROPERTIES_TO_SERIALIZE, ConceptParts, NotInit
from core.sheerka.ExecutionContext import ExecutionContext, PROPERTIES_TO_SERIALIZE as CONTEXT_PROPERTIES_TO_SERIALIZE
default_concept = Concept()
@@ -67,7 +67,7 @@ class ConceptHandler(BaseHandler):
# get properties
for prop_name, prop_value in resolved_value:
key_to_use = ConceptParts(prop_name[7:]) if isinstance(prop_name, str) and prop_name.startswith("cParts.") else prop_name
instance.set_value(key_to_use, prop_value)
instance.set_value(key_to_use, NotInit if prop_value is None else prop_value)
else:
raise Exception("Sanity check as it's not possible yet")