{% macro _header_row(headers) %} {% for header in headers %} {{ header }} {% endfor %} {% endmacro %} {% macro _trace_row(trace, fields) %} {% for field in fields %} {% set value = trace.get(field) %} {% if value is not none %} {{ value }} {% else %} {# treat a missing value (literal None) as a special case, enable user-styling #} {% endif %} {% endfor %} {% endmacro %} {% macro traces_table(traces, fields) %} {{ _header_row(fields) }} {% for trace in traces %} {{ _trace_row(trace, fields) }} {% endfor %}
{% endmacro %}