#!python
"""okapi

Usage:
    okapi [<in> -cdo <out> --url=<url> --config=<config> --headers=<headers> \
-v <verbosity> --prototype]

Options:
    -c                      Enable persistent cache for responses.
    -d                      Allow debug mode.
    -o <out>                Output directory
    -v <verbosity>          Verbosity level [default: 2]
                                0 - no output
                                1 - summary
                                2 - failed tests
                                3 - all

    --url=<url>             URL against the requests are made
    --headers=<headers>     Custom headers sent to API, not visible in doc.
                            (Comma separated).
    --config=<config>       Config file. [default: okapi.cfg]
    --prototype             Run in prototype mode (no requests are made).

Example:
    okapi notebook.rst -o index.html --url=http://www.notebook.com/
"""

import sys

from docopt import docopt

import okapi
from okapi.runners import Runner
from okapi.settings import settings


if __name__ == '__main__':
    arguments = docopt(__doc__, version=okapi.__version__)
    settings.load_from_cli(arguments)

    if not settings.check():
        sys.exit(1)

    runner = Runner(settings.file, settings.url)
    runner.run()
