Interpreter Module
Interpreter
- class TagScriptEngine.interpreter.Interpreter(blocks: List[Block])[source]
Bases:
_InterpreterThe TagScript interpreter.
- process(message: str, seed_variables: Dict[str, Adapter] | None = None, *, charlimit: int | None = None, dot_parameter: bool = False, **kwargs: Any) Response[source]
Processes a given TagScript string.
- Parameters:
message (str) – A TagScript string to be processed.
seed_variables (Dict[str, Adapter]) – A dictionary containing strings to adapters to provide context variables for processing.
charlimit (int) – The maximum characters to process.
dot_parameter (bool) – Whether the parameter should be followed after a “.” or use the default of parantheses.
kwargs (Dict[str, Any]) – Additional keyword arguments that may be used by blocks during processing.
- Returns:
A response object containing the processed body, actions and variables.
- Return type:
- Raises:
TagScriptError – A block intentionally raised an exception, most likely due to invalid user input.
WorkloadExceededError – Signifies the interpreter reached the character limit, if one was provided.
ProcessError – An unexpected error occurred while processing blocks.
AsyncInterpreter
- class TagScriptEngine.interpreter.AsyncInterpreter(blocks: List[Block])[source]
Bases:
InterpreterAn asynchronous subclass of
Interpreterthat allows blocks to implement asynchronous methods. Synchronous blocks are still supported.This subclass has no additional attributes from the
Interpreterclass. SeeInterpreterfor full documentation.- async process(message: str, seed_variables: Dict[str, Adapter] | None = None, *, charlimit: int | None = None, dot_parameter: bool = False, **kwargs: Any) Response[source]
Asynchronously process a given TagScript string.
This method has no additional attributes from the
Interpreterclass. SeeInterpreter.process()for full documentation.
Context
- class TagScriptEngine.interpreter.Context(verb: Verb, res: Response, interpreter: Interpreter, og: str)[source]
Bases:
_ContextAn object containing data on the TagScript block processed by the interpreter. This class is passed to adapters and blocks during processing.
- interpreter
The interpreter processing the TagScript.
- Type:
Response
- class TagScriptEngine.interpreter.Response(*, variables: Dict[str, Adapter] | None = None, extra_kwargs: Dict[str, Any] | None = None)[source]
Bases:
_ResponseAn object containing information on a completed TagScript process.
- actions
A dictionary that blocks can access and modify to define post-processing actions.
- Type:
Dict[str, Any]
- variables
A dictionary of variables that blocks such as the
LooseVariableGetterBlockcan access.
Node
- class TagScriptEngine.interpreter.Node(coordinates: Tuple[int, int], verb: Verb | None = None)[source]
Bases:
_NodeA low-level object representing a bracketed block.