1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

ternary filter

This commit is contained in:
Brian Coca 2014-08-27 22:27:00 -04:00
parent 984d551257
commit 88daac4971
2 changed files with 16 additions and 2 deletions

View file

@ -304,13 +304,17 @@ Get a random number from 1 to 100 but in steps of 10::
Other Useful Filters
--------------------
To use one value on true and another on false::
{{ name == "John" | ternary('Mr','Ms') }}
To concatenate a list into a string::
{{ list | join(" ") }}
To get the last name of a file path, like 'foo.txt' out of '/etc/asdf/foo.txt'::
{{ path | basename }}
{{ path | basename }}
To get the directory from a path::

View file

@ -146,6 +146,13 @@ def regex_replace(value='', pattern='', replacement='', ignorecase=False):
_re = re.compile(pattern, flags=flags)
return _re.sub(replacement, value)
def ternary(value, true_val, false_val):
''' value ? true_val : false_val '''
if value:
return true_val
else:
return false_val
def unique(a):
if isinstance(a,collections.Hashable):
c = set(a)
@ -293,6 +300,9 @@ class FilterModule(object):
'regex': regex,
'regex_replace': regex_replace,
# ? : ;
'ternary': ternary,
# list
'unique' : unique,
'intersect': intersect,