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

import pscheduler

from validate import spec_is_valid, 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
        ( 'algorithm', 'algorithm' ),
        ( 'as', 'as' ),
        ( 'dest', 'dest' ),
        ( 'flow-label', 'flow-label' ),
        ( 'ip-version', 'ip-version' ),
        ( 'length', 'length' ),
        ( 'probe-type', 'probe-type' ),
        ( 'first-ttl', 'first-ttl' ),
        ( 'source', 'source' ),
        ( 'source-node', 'source-node' ),
        ( 'hops', 'hops' ),
        ( 'queries', 'queries' ),
        ( 'dest-port', 'dest-port' ),
        ( 'tos', 'tos' ),
        ( 'wait', 'wait' ),
        ( 'sendwait', 'sendwait' ),
        ],
                                       bools=[
        ( 'fragment', 'fragment' ),
        ( 'hostnames', 'hostnames' ),
        ])

pscheduler.succeed_json(result)
