#!/usr/bin/env python3
#
# Format a spec
#

import pscheduler

from validate import spec_is_valid
from validate import MAX_SCHEMA

TEMPLATE='''
{% if _mime_type == 'text/plain' %}

Host ........ {{ unspec(host) }}
Host Node ... {{ unspec(hostnode) }}
Fail ........ {{ unspec(fail) }}
Data:
{% if data is defined -%}
{{ json_pretty(data) }}
{%- else -%}
{{ unspec(not_specified) }}
{% endif -%}

{% elif _mime_type == 'text/html' %}

<table>
<tr><td>Host</td><td>{{ unspec(host) }}</td></tr>
<tr><td>Host Node</td><td>{{ unspec(hostnode) }}</td></tr>
<tr><td>Fail</td><td>{{ unspec(fail) }}</td></tr>
<tr><td>Data</td><td>
{% if data is defined -%}
<pre>
{{ json_pretty(data) | e }}
</pre>
{%- else -%}
{{ unspec(not_specified) }}
{% endif -%}
</td></tr>
</table>

{% else %}

{{ error('Unsupported MIME type "' + _mime_type + '"') }}

{% endif %}
'''

pscheduler.spec_format_method(TEMPLATE, max_schema=MAX_SCHEMA, validator=spec_is_valid)
