#!/usr/bin/env python3

#
# Development Order #9:
#
# This will format a test spec into something that is human readable.
#

import pscheduler

from validate import spec_is_valid
from validate import spec_max_schema

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

Host .......... {{ unspec(host) }}
Host Node ..... {{ unspec(hostnode) }}
URL ........... {{ unspec(url) }}
Bucket ........ {{ unspec(bucket) }}
Object Size ... {{ unspec(objectsize) }}
Iterations .... {{ unspec(iterations) }}
Duration ...... {{ unspec(duration) }}
Timeout ....... {{ unspec(timeout) }}

{% 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>URL</td><td>{{ unspec(url) }}</td></tr>
<tr><td>Bucket</td><td>{{ unspec(bucket) }}</td></tr>
<tr><td>Object Size</td><td>{{ unspec(objectsize) }}</td></tr>
<tr><td>Iterations</td><td>{{ unspec(iterations) }}</td></tr>
<tr><td>Duration</td><td>{{ unspec(duration) }}</td></tr>
<tr><td>Timeout</td><td>{{ unspec(timeout) }}</td></tr>
</table>

{% else %}

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

{% endif %}
'''

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