diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2024-01-25 09:51:43 +0300 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2024-01-26 20:49:07 +0300 |
commit | 92337b2b7ff92e1f9fec1c01048366042b848998 (patch) | |
tree | 529a8d180a840df671c5ff57c27513913e41d83a /contrib/python/Jinja2/py3/jinja2/parser.py | |
parent | ccdd7d3aed84ad876ff5d2045b1f1cc5eedb9aea (diff) | |
download | ydb-92337b2b7ff92e1f9fec1c01048366042b848998.tar.gz |
Update contrib/python/Jinja2/py3 to 3.1.3
Diffstat (limited to 'contrib/python/Jinja2/py3/jinja2/parser.py')
-rw-r--r-- | contrib/python/Jinja2/py3/jinja2/parser.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/contrib/python/Jinja2/py3/jinja2/parser.py b/contrib/python/Jinja2/py3/jinja2/parser.py index cefce2dfa1d..3354bc93390 100644 --- a/contrib/python/Jinja2/py3/jinja2/parser.py +++ b/contrib/python/Jinja2/py3/jinja2/parser.py @@ -311,12 +311,14 @@ class Parser: # enforce that required blocks only contain whitespace or comments # by asserting that the body, if not empty, is just TemplateData nodes # with whitespace data - if node.required and not all( - isinstance(child, nodes.TemplateData) and child.data.isspace() - for body in node.body - for child in body.nodes # type: ignore - ): - self.fail("Required blocks can only contain comments or whitespace") + if node.required: + for body_node in node.body: + if not isinstance(body_node, nodes.Output) or any( + not isinstance(output_node, nodes.TemplateData) + or not output_node.data.isspace() + for output_node in body_node.nodes + ): + self.fail("Required blocks can only contain comments or whitespace") self.stream.skip_if("name:" + node.name) return node @@ -857,7 +859,7 @@ class Parser: else: args.append(None) - return nodes.Slice(lineno=lineno, *args) + return nodes.Slice(lineno=lineno, *args) # noqa: B026 def parse_call_args(self) -> t.Tuple: token = self.stream.expect("lparen") |