|
| 1 | +{# Default way of showing errors #} |
| 2 | +{% macro render_error(message) -%} |
| 3 | +[NOTE] |
| 4 | +==== |
| 5 | +*Error* |
| 6 | + |
| 7 | +{{ message|e }} |
| 8 | +==== |
| 9 | +{%- endmacro %} |
| 10 | + |
| 11 | +{# Default macro for showing/wrapping the fetch results #} |
| 12 | +{% macro render_fetch_results(content, error) -%} |
| 13 | + {% if error %} |
| 14 | + {{ render_error(error) }} |
| 15 | + {% else %} |
| 16 | + {% if content is undefined %} |
| 17 | + {{ render_error("Some content expected but none was found.") }} |
| 18 | + {% else %} |
| 19 | + {{ caller() }} |
| 20 | + {% endif %} |
| 21 | + {% endif %} |
| 22 | +{%- endmacro %} |
| 23 | + |
| 24 | + |
| 25 | +{% macro pandas_table(df, caption, column_labels={}) -%} |
| 26 | + {% if (df is defined) and (df is not none) %} |
| 27 | + {% set df = df.fillna(value="") %} |
| 28 | +[cols="{{ df.columns|length }}*", options="header"] |
| 29 | +|=== |
| 30 | + {% for column in df.columns %} |
| 31 | + {% if column in column_labels %} |
| 32 | +|{{ column_labels[column] }} |
| 33 | + {% else %} |
| 34 | +|{{ column }} |
| 35 | + {% endif %} |
| 36 | + {% endfor %} |
| 37 | +
|
| 38 | + {% for idx, row in df.iterrows() %} |
| 39 | + {% for colname in df.columns %} |
| 40 | + {# handle decimal format: float, float64, float32 #} |
| 41 | + {% if 'float' in (df.dtypes[colname] | string) %} |
| 42 | +|{{ row[colname] | round(precision=2) }} |
| 43 | + {% else %} |
| 44 | +|{{ row[colname] }} |
| 45 | + {% endif %} |
| 46 | + {% endfor %} |
| 47 | +
|
| 48 | + {% endfor %} |
| 49 | +|=== |
| 50 | +
|
| 51 | +.{{ caption }} |
| 52 | + {% else %} |
| 53 | + {{ render_error("How did you get here? did you forget to use 'render_fetch_results' macro?") }} |
| 54 | + {% endif %} |
| 55 | +{%- endmacro %} |
| 56 | +
|
| 57 | +{% macro count_value(df) %} |
| 58 | + {% for idx, row in df.iterrows() %} |
| 59 | + {% for colname in df.columns %} |
| 60 | +|{{ row[colname] }} |
| 61 | + {% endfor %} |
| 62 | + {% endfor %} |
| 63 | +{% endmacro %} |
| 64 | +
|
| 65 | +{% macro render_namespaces(namesapces_dist) %} |
| 66 | +[cols="1,3", options="header"] |
| 67 | +|=== |
| 68 | +|Namespace |
| 69 | +|URI |
| 70 | +
|
| 71 | + {% for prefix, uri in namesapces_dist|dictsort %} |
| 72 | +|{{ prefix }} |
| 73 | +|{{ uri }} |
| 74 | +
|
| 75 | + {% endfor %} |
| 76 | +|=== |
| 77 | +
|
| 78 | +.Prefixes |
| 79 | +{% endmacro %} |
| 80 | +
|
0 commit comments