#!/usr/bin/env python3
#
# Convert a test specification to command-line options

import pscheduler

from validate import spec_is_valid
from validate import MAX_SCHEMA

spec = pscheduler.json_load(exit_on_error=True, max_schema=MAX_SCHEMA)

valid, message = spec_is_valid(spec)

if not valid:
    pscheduler.fail(message)


result = pscheduler.speccli_build_args(spec, 
                                       strings=[
        # Strings
        ( 'count', 'count' ),
        ( 'dest', 'dest' ),
        ( 'flow-label', 'flow-label' ),
        ( 'interval', 'interval' ),
        ( 'ip-version', 'ip-version' ),
        ( 'source', 'source' ),
        ( 'source-node', 'source-node' ),
        ( 'ip-tos', 'ip-tos' ),
        ( 'length', 'length' ),
        ( 'ttl', 'ttl' ),
        ( 'deadline', 'deadline' ),
        ( 'timeout', 'timeout' ),
        ( 'port', 'port' ),
        ( 'protocol', 'protocol' ),
        ],
                                       bools=[
        ( 'suppress-loopback', 'suppress-loopback' ),
        ( 'fragment', 'fragment' ),
        ( 'hostnames', 'hostnames' )
        ])


pscheduler.succeed_json(result)
