Add a few Jinja2 tests to simplify template (#37514)

Add list test to simplify template
This commit is contained in:
Dag Wieers 2018-03-20 23:08:55 +01:00 committed by GitHub
parent b7aa41b9b9
commit b8e07f0d6e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 10 deletions

View file

@ -29,7 +29,7 @@ import os
import re
import sys
import warnings
from collections import defaultdict
from collections import defaultdict, Sequence
from distutils.version import LooseVersion
from pprint import PrettyPrinter
@ -132,6 +132,12 @@ def rst_xline(width, char="="):
return char * width
# NOTE: The existing Jinja2 'sequence' tests matches strings and dictionaries
def test_list(value):
''' Return true if objects is a list or tupple '''
return isinstance(value, Sequence)
def write_data(text, output_dir, outputname, module=None):
''' dumps module output to a file or the screen, as requested '''
@ -304,6 +310,9 @@ def jinja2_environment(template_dir, typ, plugin_type):
env.filters['html_ify'] = html_ify
env.filters['fmt'] = rst_fmt
env.filters['xline'] = rst_xline
env.tests['list'] = test_list
templates['plugin'] = env.get_template('plugin.rst.j2')
if plugin_type == 'module':