API reference¶
-
class
lina.
CBooleanFormatter
¶ Bases:
lina.Formatter
For booleans, write true or false to the output. Otherwise, the input is just passed through.
-
Format
(value)¶ Format a value or a complete block.
-
-
class
lina.
DefaultFormatter
(value)¶ Bases:
lina.Formatter
Emit the default if the value is None, otherwise the value itself.
-
Format
(text)¶ Format a value or a complete block.
-
-
class
lina.
EscapeNewlineFormatter
¶ Bases:
lina.Formatter
Escape embedded newlines.
-
Format
(text)¶ Format a value or a complete block.
-
-
class
lina.
EscapeStringFormatter
¶ Bases:
lina.Formatter
Escape embedded newlines, tabs and quotes.
-
Format
(text)¶ Format a value or a complete block.
-
-
class
lina.
Formatter
(formatterType)¶ Bases:
object
Base class for all formatters.
A formatter can be used to transform blocks/values during expansion.
-
Format
(text)¶ Format a value or a complete block.
-
IsBlockFormatter
()¶ Check if this formatter is a block formatter.
-
IsValueFormatter
()¶ Check if this formatter is a value formatter.
-
OnBlockBegin
(isFirst)¶ Called before a block is expanded.
Parameters: isFirst – True
if this is the first expansion of the block.Returns: String or None
. If a string is returned, it is prepended before the current block expansion.
-
OnBlockEnd
(isLast)¶ Called after a block has been expanded.
Parameters: isLast – True
if this is the last expansion of the block.Returns: String or None
. If a string is returned, it is appended after the current block expansion.
-
-
class
lina.
FormatterType
¶ Bases:
enum.Enum
The formatter type, either
Block
orValue
.-
Block
= 0¶
-
Value
= 1¶
-
-
lina.
GetFormatter
(name, value=None, position=None)¶ Get a formatter.
If the formatter cannot be found, an exception is raised.
-
class
lina.
HexFormatter
¶ Bases:
lina.Formatter
Write an integer as a hex literal (0x133F).
-
Format
(value)¶ Format a value or a complete block.
-
-
class
lina.
IndentFormatter
(depth)¶ Bases:
lina.Formatter
Indent a block using tabs.
-
Format
(block)¶ Format a value or a complete block.
-
OnBlockBegin
(isFirst)¶ Called before a block is expanded.
Parameters: isFirst – True
if this is the first expansion of the block.Returns: String or None
. If a string is returned, it is prepended before the current block expansion.
-
-
exception
lina.
InvalidBlock
(message, position)¶ Bases:
lina.TemplateException
An invalid block was encountered.
-
exception
lina.
InvalidFormatter
(message, position)¶ Bases:
lina.TemplateException
An invalid formatter was encountered.
This exception is raised when a formatter could not be found or instantiated.
-
exception
lina.
InvalidToken
(message, position)¶ Bases:
lina.TemplateException
An invalid token was encountered.
-
exception
lina.
InvalidWhitespaceToken
(message, position)¶ Bases:
lina.TemplateException
An invalid whitespace token was encountered.
-
class
lina.
ListSeparatorFormatter
(value)¶ Bases:
lina.Formatter
Separate block entries.
This formatter will insert a value between block expansions.
-
OnBlockEnd
(isLast)¶ Called after a block has been expanded.
Parameters: isLast – True
if this is the last expansion of the block.Returns: String or None
. If a string is returned, it is appended after the current block expansion.
-
-
class
lina.
PrefixFormatter
(prefix)¶ Bases:
lina.Formatter
Add a prefix to a value.
-
Format
(text)¶ Format a value or a complete block.
-
-
class
lina.
SuffixFormatter
(suffix)¶ Bases:
lina.Formatter
Add a suffix to a value.
-
Format
(text)¶ Format a value or a complete block.
-
-
class
lina.
Template
(template, includeHandler=None)¶ Bases:
object
The main template class.
-
Render
(context)¶ Render the template using the provided context.
-
RenderSimple
(**items)¶ Simple rendering function.
This is just a convenience function which creates the context from the passed items and forwards them to
Template.Render()
.
-
-
exception
lina.
TemplateException
(message, position)¶ Bases:
Exception
Base class for all exceptions thrown by Lina.
-
GetPosition
()¶ Get the position where the exception occurred.
Returns: An object with two fields, line
andcolumn
.
-
-
class
lina.
TemplateRepository
(templateDirectory, suffix='')¶ Bases:
lina.IncludeHandler
A file template repository.
This template repository will load files from a specified folder.
-
Get
(name)¶
-
-
class
lina.
TextStream
(text)¶ Bases:
object
A read-only text stream.
The text stream is used for input only and keeps track of the current read pointer position in terms of line/column numbers.
-
Get
()¶ Get a character.
If the end of the stream has been reached,
None
is returned.
-
GetOffset
()¶ Get the current read offset in characters from the beginning of the stream.
-
GetPosition
()¶ Get the current read position as a pair (line, column).
-
IsAtEnd
()¶ Check if the end of the stream has been reached.
-
Peek
()¶ Peek at the next character in the stream if possible. Returns None if the end of the stream has been reached.
-
Reset
()¶ Reset back to the beginning of the stream.
-
Skip
(length)¶ Skip a number of characters starting from the current position.
-
Substring
(start, end)¶ Get a substring of the stream.
-
Unget
()¶ Move one character back in the input stream.
-
-
class
lina.
Token
(name, start, end, position)¶ Bases:
object
Represents a single token.
Each token may contain an optional list of flags, separated by colons. The grammar implemented here is:
[prefix]?[^:}]+(:[^:})+, for example: {{#Foo}} -> name = Foo, prefix = # {{Bar:width=8}} -> name = Bar, prefix = None, flags = {width:8}
-
EvaluateWhiteSpaceToken
(position)¶ Get the content of this token if this token is a whitespace token.
If the content is not a valid whitespace name, this function will raise
InvalidWhitespaceToken
.
-
GetEnd
()¶ Get the end offset.
-
GetFormatters
()¶ Get all active formatters for this token.
-
GetName
()¶ Get the name of this token.
-
GetPosition
()¶ Get the position as a (line, column) pair.
-
GetStart
()¶ Get the start offset.
-
IsBlockClose
()¶ Return true if this token is a block-close token.
-
IsBlockStart
()¶ Return true if this token is a block-start token.
-
IsIncludeToken
()¶ Return true if this token is an include directive.
-
IsNegatedBlockStart
()¶ Return true if this token is a negated block-start token.
-
IsSelfReference
()¶ Return true if this token is a self-reference.
-
IsValue
()¶
-
IsWhiteSpaceToken
()¶ Return true if this token is a whitespace directive.
-
-
class
lina.
UppercaseFormatter
¶ Bases:
lina.Formatter
Format a value as uppercase.
-
Format
(text)¶ Format a value or a complete block.
-
-
class
lina.
WidthFormatter
(width)¶ Bases:
lina.Formatter
Align the value to a particular width.
Negative values align to the left (i.e., the padding is added on the left:
' 42'
), positive values to the right ('42 '
).-
Format
(text)¶ Format a value or a complete block.
-
-
class
lina.
WrapStringFormatter
¶ Bases:
lina.Formatter
Wrap strings with quotation marks.
-
Format
(text)¶ Format a value or a complete block.
-