|
import typing as t |
|
|
|
from .filters import FILTERS as DEFAULT_FILTERS |
|
from .tests import TESTS as DEFAULT_TESTS |
|
from .utils import Cycler |
|
from .utils import generate_lorem_ipsum |
|
from .utils import Joiner |
|
from .utils import Namespace |
|
|
|
if t.TYPE_CHECKING: |
|
import typing_extensions as te |
|
|
|
|
|
BLOCK_START_STRING = "{%" |
|
BLOCK_END_STRING = "%}" |
|
VARIABLE_START_STRING = "{{" |
|
VARIABLE_END_STRING = "}}" |
|
COMMENT_START_STRING = "{#" |
|
COMMENT_END_STRING = "#}" |
|
LINE_STATEMENT_PREFIX: t.Optional[str] = None |
|
LINE_COMMENT_PREFIX: t.Optional[str] = None |
|
TRIM_BLOCKS = False |
|
LSTRIP_BLOCKS = False |
|
NEWLINE_SEQUENCE: "te.Literal['\\n', '\\r\\n', '\\r']" = "\n" |
|
KEEP_TRAILING_NEWLINE = False |
|
|
|
|
|
|
|
DEFAULT_NAMESPACE = { |
|
"range": range, |
|
"dict": dict, |
|
"lipsum": generate_lorem_ipsum, |
|
"cycler": Cycler, |
|
"joiner": Joiner, |
|
"namespace": Namespace, |
|
} |
|
|
|
|
|
DEFAULT_POLICIES: t.Dict[str, t.Any] = { |
|
"compiler.ascii_str": True, |
|
"urlize.rel": "noopener", |
|
"urlize.target": None, |
|
"urlize.extra_schemes": None, |
|
"truncate.leeway": 5, |
|
"json.dumps_function": None, |
|
"json.dumps_kwargs": {"sort_keys": True}, |
|
"ext.i18n.trimmed": False, |
|
} |
|
|