jinja2.defaults

 1import typing as t
 2
 3from .filters import FILTERS as DEFAULT_FILTERS  # noqa: F401
 4from .tests import TESTS as DEFAULT_TESTS  # noqa: F401
 5from .utils import Cycler
 6from .utils import generate_lorem_ipsum
 7from .utils import Joiner
 8from .utils import Namespace
 9
10if t.TYPE_CHECKING:
11    import typing_extensions as te
12
13# defaults for the parser / lexer
14BLOCK_START_STRING = "{%"
15BLOCK_END_STRING = "%}"
16VARIABLE_START_STRING = "{{"
17VARIABLE_END_STRING = "}}"
18COMMENT_START_STRING = "{#"
19COMMENT_END_STRING = "#}"
20LINE_STATEMENT_PREFIX: t.Optional[str] = None
21LINE_COMMENT_PREFIX: t.Optional[str] = None
22TRIM_BLOCKS = False
23LSTRIP_BLOCKS = False
24NEWLINE_SEQUENCE: "te.Literal['\\n', '\\r\\n', '\\r']" = "\n"
25KEEP_TRAILING_NEWLINE = False
26
27# default filters, tests and namespace
28
29DEFAULT_NAMESPACE = {
30    "range": range,
31    "dict": dict,
32    "lipsum": generate_lorem_ipsum,
33    "cycler": Cycler,
34    "joiner": Joiner,
35    "namespace": Namespace,
36}
37
38# default policies
39DEFAULT_POLICIES: t.Dict[str, t.Any] = {
40    "compiler.ascii_str": True,
41    "urlize.rel": "noopener",
42    "urlize.target": None,
43    "urlize.extra_schemes": None,
44    "truncate.leeway": 5,
45    "json.dumps_function": None,
46    "json.dumps_kwargs": {"sort_keys": True},
47    "ext.i18n.trimmed": False,
48}
BLOCK_START_STRING = '{%'
BLOCK_END_STRING = '%}'
VARIABLE_START_STRING = '{{'
VARIABLE_END_STRING = '}}'
COMMENT_START_STRING = '{#'
COMMENT_END_STRING = '#}'
LINE_STATEMENT_PREFIX: Optional[str] = None
LINE_COMMENT_PREFIX: Optional[str] = None
TRIM_BLOCKS = False
LSTRIP_BLOCKS = False
NEWLINE_SEQUENCE: Literal['\n', '\r\n', '\r'] = '\n'
KEEP_TRAILING_NEWLINE = False
DEFAULT_NAMESPACE = {'range': <class 'range'>, 'dict': <class 'dict'>, 'lipsum': <function generate_lorem_ipsum>, 'cycler': <class 'jinja2.utils.Cycler'>, 'joiner': <class 'jinja2.utils.Joiner'>, 'namespace': <class 'jinja2.utils.Namespace'>}
DEFAULT_POLICIES: Dict[str, 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}