First but not optimized version of AstFormatDict
This commit is contained in:
@@ -3,6 +3,7 @@ import time
|
||||
from os import path
|
||||
|
||||
from core.builtin_concepts import BuiltinConcepts, BuiltinContainers
|
||||
from core.builtin_helpers import ensure_concept
|
||||
from core.concept import Concept
|
||||
from core.sheerka.services.sheerka_service import BaseService
|
||||
|
||||
@@ -22,6 +23,7 @@ class SheerkaAdmin(BaseService):
|
||||
self.sheerka.bind_service_method(self.cache, False)
|
||||
self.sheerka.bind_service_method(self.restore, True)
|
||||
self.sheerka.bind_service_method(self.concepts, False)
|
||||
self.sheerka.bind_service_method(self.desc, False)
|
||||
self.sheerka.bind_service_method(self.last_created_concept, False)
|
||||
self.sheerka.bind_service_method(self.last_ret, False)
|
||||
self.sheerka.bind_service_method(self.last_error_ret, False)
|
||||
@@ -122,6 +124,28 @@ class SheerkaAdmin(BaseService):
|
||||
def concepts(self):
|
||||
return self.sheerka.new(BuiltinConcepts.TO_LIST, body=self.sheerka.sdp.list(self.sheerka.CONCEPTS_BY_ID_ENTRY))
|
||||
|
||||
def desc(self, *concepts):
|
||||
ensure_concept(*concepts)
|
||||
res = []
|
||||
for c in concepts:
|
||||
bag = {
|
||||
"id": c.id,
|
||||
"name": c.name,
|
||||
"key": c.key,
|
||||
"definition": c.get_metadata().definition,
|
||||
"type": c.get_metadata().definition_type,
|
||||
"body": c.get_metadata().body,
|
||||
"where": c.get_metadata().where,
|
||||
"pre": c.get_metadata().pre,
|
||||
"post": c.get_metadata().post,
|
||||
"ret": c.get_metadata().ret,
|
||||
"vars": c.get_metadata().variables,
|
||||
"props": c.get_metadata().props,
|
||||
}
|
||||
res.append(self.sheerka.new(BuiltinConcepts.TO_DICT, body=bag))
|
||||
|
||||
return res[0] if len(res) == 1 else self.sheerka.new(BuiltinConcepts.TO_LIST, body=res)
|
||||
|
||||
def format_rules(self):
|
||||
return self.sheerka.new(BuiltinConcepts.TO_LIST, items=self.sheerka.get_format_rules())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user