Fixed parsing of BNF concepts mixed with isaset concepts
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user