Working on #21 : Created classes

This commit is contained in:
2023-07-09 19:02:56 +02:00
parent e66cdcce2d
commit a7043b1dd8
7 changed files with 84 additions and 9 deletions
+12 -5
View File
@@ -1,3 +1,5 @@
from typing import Literal
from common.global_symbols import NotInit
from common.utils import unstr_concept
from core.ExecutionContext import ExecutionContext
@@ -492,7 +494,12 @@ def _ut(buffer, start=0, end=-1):
return UnrecognizedToken(buffer, start, end)
def _mt(concept_id, start=0, end=-1, resolution_method="id", parser="simple"):
def _mt(concept_id,
start=0,
end=-1,
resolution_method: Literal["name", "key", "id"] = "id",
parser="simple",
**kwargs):
"""
helper to MetadataToken
:param concept_id:
@@ -505,7 +512,7 @@ def _mt(concept_id, start=0, end=-1, resolution_method="id", parser="simple"):
:rtype:
"""
name, _id = unstr_concept(concept_id)
if _id is None:
return MetadataToken(get_metadata(id=concept_id), start, end, resolution_method, parser)
else:
return MetadataToken(get_metadata(id=_id, name=name), start, end, resolution_method, parser)
variables = [(k, v) for k, v in kwargs.items()] if kwargs else None
metadata = get_metadata(id=concept_id, variables=variables) if _id is None \
else get_metadata(id=_id, name=name, variables=variables)
return MetadataToken(metadata, start, end, resolution_method, parser)