Refactored Caching, Refactored BnfNodeParser, Introduced Sphinx
This commit is contained in:
@@ -114,8 +114,8 @@ It's mainly to ease the usage
|
||||
class UserInputConcept(Concept):
|
||||
def __init__(self, text=None, user_name=None):
|
||||
super().__init__(BuiltinConcepts.USER_INPUT, True, False, BuiltinConcepts.USER_INPUT)
|
||||
self.set_metadata_value(ConceptParts.BODY, text)
|
||||
self.set_prop("user_name", user_name)
|
||||
self.set_value(ConceptParts.BODY, text)
|
||||
self.set_value("user_name", user_name)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
@property
|
||||
@@ -124,7 +124,7 @@ class UserInputConcept(Concept):
|
||||
|
||||
@property
|
||||
def user_name(self):
|
||||
return self.props["user_name"].value
|
||||
return self.get_value("user_name")
|
||||
|
||||
def __repr__(self):
|
||||
return f"({self.id}){self.name}: '{self.body}'"
|
||||
@@ -133,7 +133,7 @@ class UserInputConcept(Concept):
|
||||
class ErrorConcept(Concept):
|
||||
def __init__(self, error=None):
|
||||
super().__init__(BuiltinConcepts.ERROR, True, False, BuiltinConcepts.ERROR)
|
||||
self.set_metadata_value(ConceptParts.BODY, error)
|
||||
self.set_value(ConceptParts.BODY, error)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
def __repr__(self):
|
||||
@@ -143,7 +143,7 @@ class ErrorConcept(Concept):
|
||||
class UnknownConcept(Concept):
|
||||
def __init__(self, metadata=None):
|
||||
super().__init__(BuiltinConcepts.UNKNOWN_CONCEPT, True, False, BuiltinConcepts.UNKNOWN_CONCEPT)
|
||||
self.set_metadata_value(ConceptParts.BODY, metadata)
|
||||
self.set_value(ConceptParts.BODY, metadata)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
def __repr__(self):
|
||||
@@ -158,28 +158,28 @@ class ReturnValueConcept(Concept):
|
||||
|
||||
def __init__(self, who=None, status=None, value=None, message=None, parents=None):
|
||||
super().__init__(BuiltinConcepts.RETURN_VALUE, True, False, BuiltinConcepts.RETURN_VALUE)
|
||||
self.set_metadata_value(ConceptParts.BODY, value)
|
||||
self.set_prop("who", who)
|
||||
self.set_prop("status", status)
|
||||
self.set_prop("message", message)
|
||||
self.set_prop("parents", parents)
|
||||
self.set_value(ConceptParts.BODY, value)
|
||||
self.set_value("who", who)
|
||||
self.set_value("status", status)
|
||||
self.set_value("message", message)
|
||||
self.set_value("parents", parents)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
@property
|
||||
def who(self):
|
||||
return self.props["who"].value
|
||||
return self.get_value("who")
|
||||
|
||||
@who.setter
|
||||
def who(self, value):
|
||||
self.set_prop("who", value)
|
||||
self.set_value("who", value)
|
||||
|
||||
@property
|
||||
def status(self):
|
||||
return self.props["status"].value
|
||||
return self.get_value("status")
|
||||
|
||||
@status.setter
|
||||
def status(self, value):
|
||||
self.set_prop("status", value)
|
||||
self.set_value("status", value)
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
@@ -187,23 +187,23 @@ class ReturnValueConcept(Concept):
|
||||
|
||||
@value.setter
|
||||
def value(self, value):
|
||||
self.set_metadata_value(ConceptParts.BODY, value)
|
||||
self.set_value(ConceptParts.BODY, value)
|
||||
|
||||
@property
|
||||
def message(self):
|
||||
return self.props["message"].value
|
||||
return self.get_value("message")
|
||||
|
||||
@message.setter
|
||||
def message(self, value):
|
||||
self.set_prop("message", value)
|
||||
self.set_value("message", value)
|
||||
|
||||
@property
|
||||
def parents(self):
|
||||
return self.props["parents"].value
|
||||
return self.get_value("parents")
|
||||
|
||||
@parents.setter
|
||||
def parents(self, value):
|
||||
self.set_prop("parents", value)
|
||||
self.set_value("parents", value)
|
||||
|
||||
def __repr__(self):
|
||||
return f"ReturnValue(who={self.who}, status={self.status}, value={self.value}, message={self.message})"
|
||||
@@ -233,8 +233,8 @@ class UnknownPropertyConcept(Concept):
|
||||
|
||||
def __init__(self, property_name=None, concept=None):
|
||||
super().__init__(BuiltinConcepts.UNKNOWN_PROPERTY, True, False, BuiltinConcepts.UNKNOWN_PROPERTY)
|
||||
self.set_metadata_value(ConceptParts.BODY, property_name)
|
||||
self.set_prop("concept", concept)
|
||||
self.set_value(ConceptParts.BODY, property_name)
|
||||
self.set_value("concept", concept)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
def __repr__(self):
|
||||
@@ -242,7 +242,7 @@ class UnknownPropertyConcept(Concept):
|
||||
|
||||
@property
|
||||
def concept(self):
|
||||
return self.props["concept"].value
|
||||
return self.get_value("concept")
|
||||
|
||||
@property
|
||||
def property_name(self):
|
||||
@@ -256,16 +256,16 @@ class ParserResultConcept(Concept):
|
||||
|
||||
def __init__(self, parser=None, source=None, tokens=None, value=None, try_parsed=None):
|
||||
super().__init__(BuiltinConcepts.PARSER_RESULT, True, False, BuiltinConcepts.PARSER_RESULT)
|
||||
self.set_metadata_value(ConceptParts.BODY, value)
|
||||
self.set_prop("parser", parser)
|
||||
self.set_prop("source", source)
|
||||
self.set_prop("tokens", tokens)
|
||||
self.set_prop("try_parsed", try_parsed) # in case of error, what was found before the error
|
||||
self.set_value(ConceptParts.BODY, value)
|
||||
self.set_value("parser", parser)
|
||||
self.set_value("source", source)
|
||||
self.set_value("tokens", tokens)
|
||||
self.set_value("try_parsed", try_parsed) # in case of error, what was found before the error
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
def __repr__(self):
|
||||
text = f"ParserResult(parser={self.props['parser'].value}"
|
||||
source = self.props['source'].value
|
||||
text = f"ParserResult(parser={self.get_value('parser')}"
|
||||
source = self.get_value('source')
|
||||
text += f", source='{source}')" if source else f", body='{self.body}')"
|
||||
return text
|
||||
|
||||
@@ -287,15 +287,15 @@ class ParserResultConcept(Concept):
|
||||
|
||||
@property
|
||||
def try_parsed(self):
|
||||
return self.props["try_parsed"].value
|
||||
return self.get_value("try_parsed")
|
||||
|
||||
@property
|
||||
def source(self):
|
||||
return self.props["source"].value
|
||||
return self.get_value("source")
|
||||
|
||||
@property
|
||||
def parser(self):
|
||||
return self.props["parser"].value
|
||||
return self.get_value("parser")
|
||||
|
||||
|
||||
class InvalidReturnValueConcept(Concept):
|
||||
@@ -311,8 +311,8 @@ class InvalidReturnValueConcept(Concept):
|
||||
True,
|
||||
False,
|
||||
BuiltinConcepts.INVALID_RETURN_VALUE)
|
||||
self.set_metadata_value(ConceptParts.BODY, return_value)
|
||||
self.set_prop("evaluator", evaluator)
|
||||
self.set_value(ConceptParts.BODY, return_value)
|
||||
self.set_value("evaluator", evaluator)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
|
||||
@@ -322,9 +322,9 @@ class ConceptEvalError(Concept):
|
||||
True,
|
||||
False,
|
||||
BuiltinConcepts.CONCEPT_EVAL_ERROR)
|
||||
self.set_metadata_value(ConceptParts.BODY, error)
|
||||
self.set_prop("concept", concept)
|
||||
self.set_prop("property_name", property_name)
|
||||
self.set_value(ConceptParts.BODY, error)
|
||||
self.set_value("concept", concept)
|
||||
self.set_value("property_name", property_name)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
def __repr__(self):
|
||||
@@ -336,17 +336,17 @@ class ConceptEvalError(Concept):
|
||||
|
||||
@property
|
||||
def concept(self):
|
||||
return self.props["concept"].value
|
||||
return self.get_value("concept")
|
||||
|
||||
@property
|
||||
def property_name(self):
|
||||
return self.props["property_name"].value
|
||||
return self.get_value("property_name")
|
||||
|
||||
|
||||
class EnumerationConcept(Concept):
|
||||
def __init__(self, iteration=None):
|
||||
super().__init__(BuiltinConcepts.ENUMERATION, True, False, BuiltinConcepts.ENUMERATION)
|
||||
self.set_metadata_value(ConceptParts.BODY, iteration)
|
||||
self.set_value(ConceptParts.BODY, iteration)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
# def __iter__(self):
|
||||
@@ -356,7 +356,7 @@ class EnumerationConcept(Concept):
|
||||
class ListConcept(Concept):
|
||||
def __init__(self, items=None):
|
||||
super().__init__(BuiltinConcepts.LIST, True, False, BuiltinConcepts.LIST)
|
||||
self.set_metadata_value(ConceptParts.BODY, items or [])
|
||||
self.set_value(ConceptParts.BODY, items or [])
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
def append(self, obj):
|
||||
@@ -381,9 +381,10 @@ class ListConcept(Concept):
|
||||
class FilteredConcept(Concept):
|
||||
def __init__(self, filtered=None, iterable=None, predicate=None):
|
||||
super().__init__(BuiltinConcepts.FILTERED, True, False, BuiltinConcepts.FILTERED)
|
||||
self.set_metadata_value(ConceptParts.BODY, filtered)
|
||||
self.def_prop("iterable", iterable)
|
||||
self.def_prop("predicate", predicate)
|
||||
self.set_value(ConceptParts.BODY, filtered)
|
||||
self.set_value("iterable", iterable)
|
||||
self.set_value("predicate", predicate)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
|
||||
class ConceptAlreadyInSet(Concept):
|
||||
@@ -392,8 +393,8 @@ class ConceptAlreadyInSet(Concept):
|
||||
True,
|
||||
False,
|
||||
BuiltinConcepts.CONCEPT_ALREADY_IN_SET)
|
||||
self.set_metadata_value(ConceptParts.BODY, concept)
|
||||
self.set_prop("concept_set", concept_set)
|
||||
self.set_value(ConceptParts.BODY, concept)
|
||||
self.set_value("concept_set", concept_set)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
def __repr__(self):
|
||||
@@ -405,7 +406,7 @@ class ConceptAlreadyInSet(Concept):
|
||||
|
||||
@property
|
||||
def concept_set(self):
|
||||
return self.props["concept_set"].value
|
||||
return self.get_value("concept_set")
|
||||
|
||||
|
||||
class WhereClauseFailed(Concept):
|
||||
@@ -414,7 +415,7 @@ class WhereClauseFailed(Concept):
|
||||
True,
|
||||
False,
|
||||
BuiltinConcepts.WHERE_CLAUSE_FAILED)
|
||||
self.set_metadata_value(ConceptParts.BODY, concept)
|
||||
self.set_value(ConceptParts.BODY, concept)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
def __repr__(self):
|
||||
@@ -431,12 +432,12 @@ class NotForMeConcept(Concept):
|
||||
True,
|
||||
False,
|
||||
BuiltinConcepts.NOT_FOR_ME)
|
||||
self.set_metadata_value(ConceptParts.BODY, source)
|
||||
self.def_prop("reason", reason)
|
||||
self.set_value(ConceptParts.BODY, source)
|
||||
self.set_value("reason", reason)
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
def __repr__(self):
|
||||
return f"NotForMeConcept(source={self.body}, reason={self.get_prop('reason')})"
|
||||
return f"NotForMeConcept(source={self.body}, reason={self.get_value('reason')})"
|
||||
|
||||
|
||||
class ExplanationConcept(Concept):
|
||||
@@ -445,9 +446,9 @@ class ExplanationConcept(Concept):
|
||||
True,
|
||||
False,
|
||||
BuiltinConcepts.EXPLANATION)
|
||||
self.def_prop("digest", digest) # event digest
|
||||
self.def_prop("command", command) # explain command parameters
|
||||
self.def_prop("title", title) # a title to the explanation
|
||||
self.def_prop("instructions", instructions) # instructions for SheerkaPrint
|
||||
self.set_metadata_value(ConceptParts.BODY, execution_result) # list of results
|
||||
self.set_value("digest", digest) # event digest
|
||||
self.set_value("command", command) # explain command parameters
|
||||
self.set_value("title", title) # a title to the explanation
|
||||
self.set_value("instructions", instructions) # instructions for SheerkaPrint
|
||||
self.set_value(ConceptParts.BODY, execution_result) # list of results
|
||||
self.metadata.is_evaluated = True
|
||||
|
||||
Reference in New Issue
Block a user