Skip to the content.

15. March 2021 - verfasst von Oliver Gaida - Kategorien: ["jinja2"]

jinja2 specials

Vorbemerkung:

die verwendete jinja2 Funktion erläutere ich in https://snippets.schnatzefatt.de/ansible/jinja2/2021/03/14/Ansible-Jinja-Arithmetic.html

Konvertierung in Integer

Strings lassen sich mit der Funktion int in Integer konvertieren. Hier einige Beispiele:

$ jinja2 "'0o77' | int(base=8)"
63
$ jinja2 "'001111' | int(base=2)"
15
$ jinja2 "'0xff' | int(base=16)"
255
$ jinja2 "'12.5' | int(base=10)"
12
$ jinja2 "'12.5' | int"
12

Test ob wahr oder falsch

$ jinja2 " (1==1) is true"
True
$ jinja2 " (1!=1) is false"
True

Teste ob Variable definitert ist

$ jinja2 "v is defined"
False
$ jinja2 "v is not defined"
True

Teste ob Wert boolean ist

$ jinja2 "True is boolean"
True
$ jinja2 "False is boolean"
True

Teste auf Teilbarkeit

$ jinja2 "4 is divisibleby(2)"
True
$ jinja2 "4 is divisibleby(3)"
False

Test auf Gleichheit

$ jinja2 "False is eq false"
True
$ jinja2 "2 is eq ('2'|int)"
True

Teste ob ein Wert escaped ist

$ jinja2 "'&' | escape"
&
$ jinja2 "('&' | escape) is escaped"
True

Teste ob ein Integer-Wert gerade ist

$ jinja2 "1 is even"
False
$ jinja2 "-2 is even"
True

Quelle: https://jinja.palletsprojects.com/en/2.11.x/templates/#list-of-builtin-tests

HOME