parent
88ca56fd31
commit
93898ae45c
@ -0,0 +1,27 @@
|
|||||||
|
From 9a99db929323f60553b391c80d0395821121d593 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Thomas Moschny <thomas.moschny@gmx.de>
|
||||||
|
Date: Tue, 19 Jan 2021 21:01:18 +0100
|
||||||
|
Subject: [PATCH] add 'linetable' to the preserved CodeType attributes (#1334)
|
||||||
|
|
||||||
|
add 'linetable' to the preserved CodeType attributes
|
||||||
|
|
||||||
|
co_linetable replaces co_lnotab as part of PEP 626 in Python 3.10.
|
||||||
|
---
|
||||||
|
src/jinja2/debug.py | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/jinja2/debug.py b/src/jinja2/debug.py
|
||||||
|
index 5d8aec3..e256617 100644
|
||||||
|
--- a/src/jinja2/debug.py
|
||||||
|
+++ b/src/jinja2/debug.py
|
||||||
|
@@ -137,6 +137,7 @@ def fake_traceback(exc_value, tb, filename, lineno):
|
||||||
|
"lnotab",
|
||||||
|
"freevars",
|
||||||
|
"cellvars",
|
||||||
|
+ "linetable", # Python 3.10
|
||||||
|
):
|
||||||
|
if isinstance(attr, tuple):
|
||||||
|
# Replace with given value.
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
49
0002-native_concat-pass-only-strings-to-literal_eval.patch
Normal file
49
0002-native_concat-pass-only-strings-to-literal_eval.patch
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
From 58250a709532ccb3e6d92ca65b3d305d1464cb68 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Krizek <martin.krizek@gmail.com>
|
||||||
|
Date: Thu, 28 Jan 2021 10:08:50 +0100
|
||||||
|
Subject: [PATCH] native_concat: pass only strings to literal_eval
|
||||||
|
|
||||||
|
If there is only single node and it is not a string, there is no point
|
||||||
|
in passing it into ``literal_eval``, just return it immediately.
|
||||||
|
|
||||||
|
One of the examples where passing a non-string node into
|
||||||
|
``literal_eval`` would actually cause problems is when the node is
|
||||||
|
``Undefined``. On Python 3.10 this would cause ``UndefinedError``
|
||||||
|
instead of just ``Undefined`` being returned.
|
||||||
|
|
||||||
|
Fixes #1335
|
||||||
|
---
|
||||||
|
CHANGES.rst | 3 +++
|
||||||
|
src/jinja2/nativetypes.py | 2 ++
|
||||||
|
2 files changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/CHANGES.rst b/CHANGES.rst
|
||||||
|
index 511b22b..a8a66ea 100644
|
||||||
|
--- a/CHANGES.rst
|
||||||
|
+++ b/CHANGES.rst
|
||||||
|
@@ -8,6 +8,9 @@ Released 2021-01-31
|
||||||
|
- Improve the speed of the ``urlize`` filter by reducing regex
|
||||||
|
backtracking. Email matching requires a word character at the start
|
||||||
|
of the domain part, and only word characters in the TLD. :pr:`1343`
|
||||||
|
+- Fix UndefinedError incorrectly being thrown on an undefined variable
|
||||||
|
+ instead of ``Undefined`` being returned on
|
||||||
|
+ ``NativeEnvironment`` on Python 3.10. :issue:`1335`
|
||||||
|
|
||||||
|
|
||||||
|
Version 2.11.2
|
||||||
|
diff --git a/src/jinja2/nativetypes.py b/src/jinja2/nativetypes.py
|
||||||
|
index a9ead4e..2fee17f 100644
|
||||||
|
--- a/src/jinja2/nativetypes.py
|
||||||
|
+++ b/src/jinja2/nativetypes.py
|
||||||
|
@@ -26,6 +26,8 @@ def native_concat(nodes):
|
||||||
|
|
||||||
|
if len(head) == 1:
|
||||||
|
raw = head[0]
|
||||||
|
+ if not isinstance(raw, str):
|
||||||
|
+ return raw
|
||||||
|
else:
|
||||||
|
raw = u"".join([text_type(v) for v in chain(head, nodes)])
|
||||||
|
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
@ -1,12 +1,15 @@
|
|||||||
%global srcname Jinja2
|
%global srcname Jinja2
|
||||||
|
|
||||||
Name: python-jinja2
|
Name: python-jinja2
|
||||||
Version: 2.11.2
|
Version: 2.11.3
|
||||||
Release: 8%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: General purpose template engine
|
Summary: General purpose template engine
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: https://palletsprojects.com/p/jinja/
|
URL: https://palletsprojects.com/p/jinja/
|
||||||
Source0: %{pypi_source}
|
Source0: %{pypi_source}
|
||||||
|
# cherry-picked patches to build with Python 3.10 (#1907442)
|
||||||
|
Patch1: 0001-add-linetable-to-the-preserved-CodeType-attributes-1.patch
|
||||||
|
Patch2: 0002-native_concat-pass-only-strings-to-literal_eval.patch
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||||
# Enable python3 build by default
|
# Enable python3 build by default
|
||||||
@ -105,7 +108,7 @@ environments.
|
|||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n %{srcname}-%{version}
|
%autosetup -p1 -n %{srcname}-%{version}
|
||||||
|
|
||||||
# cleanup
|
# cleanup
|
||||||
find . -name '*.pyo' -o -name '*.pyc' -delete
|
find . -name '*.pyo' -o -name '*.pyc' -delete
|
||||||
@ -180,6 +183,10 @@ PYTHONPATH=$(pwd)/src %{__python3} -m pytest tests
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Feb 6 2021 Thomas Moschny <thomas.moschny@gmx.de> - 2.11.3-1
|
||||||
|
- Update to 2.11.3.
|
||||||
|
- Add patches to build with Python 3.10 (#1907442).
|
||||||
|
|
||||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.2-8
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.2-8
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (Jinja2-2.11.2.tar.gz) = baf62118702a7e113e6a22d9af58a5fa66af8017ded08f18705107a4cb93c9727c7fa118436aadfe0729d7f496241ca7bcce27863c5b19deaee3852eda68c082
|
SHA512 (Jinja2-2.11.3.tar.gz) = fce4f835795fe9afb622f8106f60344032a811f3f693806f31ba482f9b7c1400f93dfa1701b4db0b472cbed4b0793cb329778c8091811ef0e3b577150d28e004
|
||||||
|
Loading…
Reference in New Issue
Block a user