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:
parent
984d551257
commit
88daac4971
2 changed files with 16 additions and 2 deletions
|
@ -304,13 +304,17 @@ Get a random number from 1 to 100 but in steps of 10::
|
||||||
Other Useful Filters
|
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::
|
To concatenate a list into a string::
|
||||||
|
|
||||||
{{ list | join(" ") }}
|
{{ list | join(" ") }}
|
||||||
|
|
||||||
To get the last name of a file path, like 'foo.txt' out of '/etc/asdf/foo.txt'::
|
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::
|
To get the directory from a path::
|
||||||
|
|
||||||
|
|
|
@ -146,6 +146,13 @@ def regex_replace(value='', pattern='', replacement='', ignorecase=False):
|
||||||
_re = re.compile(pattern, flags=flags)
|
_re = re.compile(pattern, flags=flags)
|
||||||
return _re.sub(replacement, value)
|
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):
|
def unique(a):
|
||||||
if isinstance(a,collections.Hashable):
|
if isinstance(a,collections.Hashable):
|
||||||
c = set(a)
|
c = set(a)
|
||||||
|
@ -293,6 +300,9 @@ class FilterModule(object):
|
||||||
'regex': regex,
|
'regex': regex,
|
||||||
'regex_replace': regex_replace,
|
'regex_replace': regex_replace,
|
||||||
|
|
||||||
|
# ? : ;
|
||||||
|
'ternary': ternary,
|
||||||
|
|
||||||
# list
|
# list
|
||||||
'unique' : unique,
|
'unique' : unique,
|
||||||
'intersect': intersect,
|
'intersect': intersect,
|
||||||
|
|
Loading…
Reference in a new issue