fixed #18 : I can evaluate concept
This commit is contained in:
+29
-2
@@ -1,9 +1,17 @@
|
||||
from common.global_symbols import NotInit
|
||||
from core.ExecutionContext import ExecutionContext
|
||||
from core.ReturnValue import ReturnValue
|
||||
from core.concept import Concept, ConceptMetadata, DefinitionType
|
||||
from core.concept import Concept, ConceptDefaultProps, ConceptMetadata, DefinitionType
|
||||
from services.SheerkaConceptManager import ConceptManager
|
||||
|
||||
ATTR_MAP = {
|
||||
"where": ConceptDefaultProps.WHERE,
|
||||
"pre": ConceptDefaultProps.PRE,
|
||||
"body": ConceptDefaultProps.BODY,
|
||||
"post": ConceptDefaultProps.POST,
|
||||
"ret": ConceptDefaultProps.RET,
|
||||
}
|
||||
|
||||
|
||||
class GetNextId:
|
||||
def __init__(self):
|
||||
@@ -104,6 +112,25 @@ def get_concept(name=None, body=None,
|
||||
return Concept(metadata)
|
||||
|
||||
|
||||
def get_evaluated_concept(blueprint: Concept | ConceptMetadata, **kwargs):
|
||||
"""
|
||||
Returns a concept where value are already initialized
|
||||
:param blueprint:
|
||||
:type blueprint:
|
||||
:param kwargs:
|
||||
:type kwargs:
|
||||
:return:
|
||||
:rtype:
|
||||
"""
|
||||
res = Concept(blueprint.get_metadata())
|
||||
for k, v in kwargs.items():
|
||||
res.set_value(ATTR_MAP.get(k, k), v)
|
||||
|
||||
res.get_runtime_info().is_evaluated = True
|
||||
|
||||
return res
|
||||
|
||||
|
||||
def get_metadata(name=None, body=None,
|
||||
id=None,
|
||||
key=None,
|
||||
@@ -345,7 +372,7 @@ def define_new_concept(context: ExecutionContext, c: str | Concept | ConceptMeta
|
||||
metadata.parameters)
|
||||
|
||||
assert retval.status
|
||||
concept = sheerka.newn(retval.value.metadata.name)
|
||||
concept = sheerka.newi(retval.value.metadata.id)
|
||||
return concept
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user