| Server IP : 198.38.94.13 / Your IP : 216.73.217.33 Web Server : Apache System : Linux d4744.dxb1.stableserver.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : revivere ( 1140) PHP Version : 8.2.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/decorators/ |
Upload File : |
"""
Jinja-specific decorators
"""
import logging
log = logging.getLogger(__name__)
class JinjaFilter:
"""
This decorator is used to specify that a function is to be loaded as a
Jinja filter.
"""
salt_jinja_filters = {}
def __init__(self, name=None):
""" """
self.name = name
def __call__(self, function):
""" """
name = self.name or function.__name__
if name not in self.salt_jinja_filters:
log.debug("Marking '%s' as a jinja filter", name)
self.salt_jinja_filters[name] = function
return function
jinja_filter = JinjaFilter
class JinjaTest:
"""
This decorator is used to specify that a function is to be loaded as a
Jinja test.
"""
salt_jinja_tests = {}
def __init__(self, name=None):
""" """
self.name = name
def __call__(self, function):
""" """
name = self.name or function.__name__
if name not in self.salt_jinja_tests:
log.debug("Marking '%s' as a jinja test", name)
self.salt_jinja_tests[name] = function
return function
jinja_test = JinjaTest
class JinjaGlobal:
"""
This decorator is used to specify that a function is to be loaded as a
Jinja global.
"""
salt_jinja_globals = {}
def __init__(self, name=None):
""" """
self.name = name
def __call__(self, function):
""" """
name = self.name or function.__name__
if name not in self.salt_jinja_globals:
log.debug("Marking '%s' as a jinja global", name)
self.salt_jinja_globals[name] = function
return function
jinja_global = JinjaGlobal