Speed up loops with jinja templates (#87945)

This commit is contained in:
J. Nick Koston 2023-02-12 11:40:55 -06:00 committed by GitHub
parent 4d186366bd
commit aa8927c98c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -37,6 +37,7 @@ import async_timeout
from awesomeversion import AwesomeVersion
import jinja2
from jinja2 import pass_context, pass_environment, pass_eval_context
from jinja2.runtime import AsyncLoopContext, LoopContext
from jinja2.sandbox import ImmutableSandboxedEnvironment
from jinja2.utils import Namespace
import voluptuous as vol
@ -2256,7 +2257,9 @@ class TemplateEnvironment(ImmutableSandboxedEnvironment):
def is_safe_attribute(self, obj, attr, value):
"""Test if attribute is safe."""
if isinstance(obj, (AllStates, DomainStates, TemplateState)):
if isinstance(
obj, (AllStates, DomainStates, TemplateState, LoopContext, AsyncLoopContext)
):
return attr[0] != "_"
if isinstance(obj, Namespace):