D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
saltstack
/
salt
/
lib
/
python3.10
/
site-packages
/
salt
/
utils
/
decorators
/
Filename :
jinja.py
back
Copy
""" 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