c1dfc2c307
OBS-URL: https://build.opensuse.org/package/show/systemsmanagement:saltstack/salt?expand=0&rev=203
84 lines
2.6 KiB
Diff
84 lines
2.6 KiB
Diff
From 65494338f5a9bdaa0be27afab3da3a03a92d8cda Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Pablo=20Su=C3=A1rez=20Hern=C3=A1ndez?=
|
|
<psuarezhernandez@suse.com>
|
|
Date: Fri, 8 Jul 2022 13:35:50 +0100
|
|
Subject: [PATCH] fix: jinja2 contextfuntion base on version
|
|
(bsc#1198744) (#520)
|
|
|
|
---
|
|
salt/utils/jinja.py | 16 ++++++++++++++--
|
|
tests/unit/utils/test_jinja.py | 8 +++++++-
|
|
2 files changed, 21 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/salt/utils/jinja.py b/salt/utils/jinja.py
|
|
index 0cb70bf64a..6b5b0d4e81 100644
|
|
--- a/salt/utils/jinja.py
|
|
+++ b/salt/utils/jinja.py
|
|
@@ -25,7 +25,7 @@ import salt.utils.json
|
|
import salt.utils.stringutils
|
|
import salt.utils.url
|
|
import salt.utils.yaml
|
|
-from jinja2 import BaseLoader, Markup, TemplateNotFound, nodes
|
|
+from jinja2 import BaseLoader, TemplateNotFound, nodes
|
|
from jinja2.environment import TemplateModule
|
|
from jinja2.exceptions import TemplateRuntimeError
|
|
from jinja2.ext import Extension
|
|
@@ -34,6 +34,12 @@ from salt.utils.decorators.jinja import jinja_filter, jinja_global, jinja_test
|
|
from salt.utils.odict import OrderedDict
|
|
from salt.utils.versions import LooseVersion
|
|
|
|
+try:
|
|
+ from markupsafe import Markup
|
|
+except ImportError:
|
|
+ # jinja < 3.1
|
|
+ from jinja2 import Markup
|
|
+
|
|
log = logging.getLogger(__name__)
|
|
|
|
__all__ = ["SaltCacheLoader", "SerializerExtension"]
|
|
@@ -706,7 +712,13 @@ def method_call(obj, f_name, *f_args, **f_kwargs):
|
|
return getattr(obj, f_name, lambda *args, **kwargs: None)(*f_args, **f_kwargs)
|
|
|
|
|
|
-@jinja2.contextfunction
|
|
+try:
|
|
+ contextfunction = jinja2.contextfunction
|
|
+except AttributeError:
|
|
+ contextfunction = jinja2.pass_context
|
|
+
|
|
+
|
|
+@contextfunction
|
|
def show_full_context(ctx):
|
|
return salt.utils.data.simple_types_filter(
|
|
{key: value for key, value in ctx.items()}
|
|
diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
|
|
index 6502831aff..6bbcf9ef6f 100644
|
|
--- a/tests/unit/utils/test_jinja.py
|
|
+++ b/tests/unit/utils/test_jinja.py
|
|
@@ -22,7 +22,7 @@ import salt.utils.files
|
|
import salt.utils.json
|
|
import salt.utils.stringutils
|
|
import salt.utils.yaml
|
|
-from jinja2 import DictLoader, Environment, Markup, exceptions
|
|
+from jinja2 import DictLoader, Environment, exceptions
|
|
from salt.exceptions import SaltRenderError
|
|
from salt.utils.decorators.jinja import JinjaFilter
|
|
from salt.utils.jinja import (
|
|
@@ -46,6 +46,12 @@ try:
|
|
except ImportError:
|
|
HAS_TIMELIB = False
|
|
|
|
+try:
|
|
+ from markupsafe import Markup
|
|
+except ImportError:
|
|
+ # jinja < 3.1
|
|
+ from jinja2 import Markup
|
|
+
|
|
BLINESEP = salt.utils.stringutils.to_bytes(os.linesep)
|
|
|
|
|
|
--
|
|
2.36.1
|
|
|
|
|