#!/usr/bin/env python

import jenkins
import os
import sys
import yaml

import jenkins_tools
from rospkg import environment


def main():
    if len(sys.argv) < 7:
        print "Usage: %s ubuntu_distro arch email {continuous/nightly/daily/weekly/monthly} script [script_args]" % (sys.argv[0])
        sys.exit(0)

    ubuntu_distro = sys.argv[1]
    arch = sys.argv[2]
    email = sys.argv[3]
    period = sys.argv[4]
    script = sys.argv[5]
    script_args = sys.argv[6:]
    job_name = script + '-' + '-'.join(script_args) + '-' + ubuntu_distro + '-' + arch

    # run job
    with open(os.path.join(environment.get_ros_home(), 'buildfarm', 'server.yaml')) as f:
        info = yaml.load(f)
    jenkins_instance = jenkins.Jenkins(jenkins_tools.JENKINS_SERVER, info['username'], info['password'])
    job_name = jenkins_tools.run_jenkins_periodic(jenkins_instance, ubuntu_distro, arch, job_name, email,
                                                  period, script, script_args, info['username'])


if __name__ == "__main__":
    main()
