Templating: Add loopcontrols extension

Inbuilt jinja extension to allow for break and continue in loops.

Signed-off-by: kingbri <bdashore3@proton.me>
This commit is contained in:
kingbri
2024-09-08 12:21:42 -04:00
parent dffceab777
commit df11890851

View File

@@ -5,6 +5,7 @@ import pathlib
from importlib.metadata import version as package_version from importlib.metadata import version as package_version
from typing import List, Optional from typing import List, Optional
from jinja2 import Template, TemplateError from jinja2 import Template, TemplateError
from jinja2.ext import loopcontrols
from jinja2.sandbox import ImmutableSandboxedEnvironment from jinja2.sandbox import ImmutableSandboxedEnvironment
from loguru import logger from loguru import logger
from packaging import version from packaging import version
@@ -32,7 +33,10 @@ class PromptTemplate:
raw_template: str raw_template: str
template: Template template: Template
environment: ImmutableSandboxedEnvironment = ImmutableSandboxedEnvironment( environment: ImmutableSandboxedEnvironment = ImmutableSandboxedEnvironment(
trim_blocks=True, lstrip_blocks=True, enable_async=True trim_blocks=True,
lstrip_blocks=True,
enable_async=True,
extensions=[loopcontrols],
) )
metadata: Optional[TemplateMetadata] = None metadata: Optional[TemplateMetadata] = None