#!/usr/bin/env python
"""jenkins_debug_console

Usage:
    jrp run --job <jobname>  --file <jenkinsfile> [--url <url>] [--user <username>] [--token <api_token>] [--sleep <sleep_time>] [--parameters <data>] [--wait-timer <time>]
    jrp get-config --job <jobname>  [--url <url>]
    jrp run-custom-config --config-file <configfile> [--url <url>]
    jrp stop --job <jobname>  [--url <url>]
    jrp logs --job <jobname>  [--url <url>]
    jrp delete --job <jobname>  [--url <url>]
    jrp -h

Examples:
    jrp  --job deploy_my_app -e text -u https://jenkins.example.com:8080 -p param1=1,param2=develop

Options:
    -j, --job <jobname>               Job name.
    -f, --file <jenkinsfile>          Jenkins pipeline script file
    -l, --url <url>                   Jenkins URL [default: http://localhost:8080]
    -u, --user <username>             Jenkins user name
    -t, --token <api_token>           Jenkins user token
    -s, --sleep <sleep_time>          Sleep time between polling requests [default: 2]
    -w, --wait-timer <time>           Wait time in queue [default: 100]
    -p, --parameters <data>           Comma separated job parameters i.e. a=1,b=2
    -h, --help                        Show this screen and exit.
"""

from jenkins_rapid.jenkins_debug_console import Job
from docopt import docopt
import sys, traceback



if __name__ == '__main__':
    arguments = docopt(__doc__)
    myjob = Job(arguments)
    
    
    if arguments['stop']:
        print("stopping jobs")
        myjob.stop_jobs()
    elif arguments['delete']:
        myjob.delete_job()
    elif arguments['get-config']:
        myjob.get_config()
    else:
        try:
            myjob.main()
        except KeyboardInterrupt:
            print ("Shutdown requested...exiting")
        except Exception:
            traceback.print_exc(file=sys.stdout)
        sys.exit(0)
    
        