#!/usr/bin/env python
import sys,os,pexpect,time,shutil

np=12
qcmduninstall="idev -uninstall"
qcmd="idev -pe 12 %(np)i -t 00:10:00" %  {"np":np,"WORK":os.getenv('WORK')}
PROTEUS = os.getenv('PROTEUS')
WORK = os.getenv('WORK')
PROTEUS_PYTHON = os.getenv('PROTEUS_PYTHON')
shutil.copy(sys.argv[1],WORK)
script_name=os.path.basename(sys.argv[1])
pcmd="mpirun -n %(np)i %(PROTEUS_PYTHON)s %(PYTHON_SCRIPT)s" % {"np":np,
                                                                "PROTEUS":PROTEUS,
                                                                "PROTEUS_PYTHON":PROTEUS_PYTHON,
                                                                "PYTHON_SCRIPT":script_name}
child = pexpect.spawn(qcmduninstall)
child = pexpect.spawn(qcmd,timeout=30*60,cwd=WORK)
child.logfile = sys.stdout
index = child.expect(["May I insert the commands?",pexpect.TIMEOUT],timeout=10)
if index == 0:
    child.sendline("yes")
index = child.expect(["job status: r","job status: Eqw",pexpect.TIMEOUT],timeout=30*60)
if index == 0:
    time.sleep(10)
    index2 = child.expect(["Are you sure you want to continue connecting (yes/no)?",pexpect.TIMEOUT],timeout=10)
    if index2 == 0:
        child.sendline("yes")
    time.sleep(10)
    child.sendline(pcmd)
    child.expect(["PEXPECT_EXIT",pexpect.EOF,pexpect.TIMEOUT],timeout=10*60)
    child.sendline("exit")
child.close()
