Magic Code Samples

Jinja code examples for tricky things.

Email parsing

How to get first.last@email.com the first and last name in two variables in Jinja?

{% set first, last = email.split("@")[0].split(".") %} 
{{ first }} {{ last }}

How to get the myname of myname@email.com before the @ nicely, e.g. to use as a first name?

{% set first = email.split("@")[0] %}
{{ first }}

Mapping to lists

If you have two lists, one of which can be nested, and you want to combine items of it, do as follows:

List 1 called list_1:

{
    "items": [
        {
            "taxCode": "23456",
            "salesTaxRate": {
                "taxRate": "0.0001"
            }
        }
    ]
}

List 2 called list_2:

{
    "id": "11",
    "custcol_tax_code": "23456",
    "amount": 1000.00,
    ...
}

In the Dict Helper > Define variable:

...

  {% for line_item in list_1["items"] %}
    {% for item in list_2 %}
      {% if line_item.taxCode == item.custcol_tax_code  %}
      
          "line_item_id": "{{ item.item.id }}"
          "amount": "{{ item.amount }}"
          "tax_rate": "{{ line_item.salesTaxRate.taxRate }}"

      {% endif %}
    {% endfor %}
  {% endfor %}

...

Since items is reserved in Python, and we use Python in the backend, you need to call it like list_1["items"], rather than standard dot notation. list_1.items is NOT possible.

Last updated