def call():
    success = False
    ctx.field("callSucceeded").value = success
    prog = ctx.field("executable").value
    args = str(ctx.field("arguments").value).split()
    workingdir = ctx.field("workingDirectory").value
    g_Process = MLAB.newProcess()
    #global g_Process
    MLAB.processEvents(False)
    MLAB.log(prog + " is started with the following options:")
    MLAB.log(args)
    if g_Process:
        g_Process.kill()
    if g_Process:
        MLAB.deleteProcess(g_Process)
    g_Process = MLAB.newProcess()
    g_Process.clearArguments()
    g_Process.addArgument(prog)
    g_Process.addArguments(args)
    g_Process.setWorkDir(workingdir)
    if ctx.field("outputToLogWindow").value:
        g_Process.setStdOutHandler(ctx, "processOut")
        g_Process.setStdErrHandler(ctx, "processOut")
        g_Process.setExitedHandler(ctx, "processExit")
    g_Process.setUserInfo(prog)
    g_Process.run()
    g_Process.waitForLaunch()
    if g_Process.isRunning():
        MLAB.log(prog + " is running")
        success = True
    else:
        MLAB.log(prog + " failed to start")
        success = False
    MLAB.processEvents(True)
    if g_Process:
        g_Process.waitForExit()
    if g_Process:
        MLAB.deleteProcess(g_Process)
    ctx.field("callSucceeded").value = success
Exemple #2
0
def _executeScript(script):
  tmp = MLABFileManager.getTmpDir()
  if not tmp[-1] == "/":
    tmp += "/"
  now = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
  
  file = MLABFileManager.getUniqueFilename(tmp,now,".scp")
  MLABFileManager.writeStringToFile(file,script)
  
  winscp = ctx.expandFilename("$(LOCAL)/winscp416.exe")
  
  cmd = "\"" + winscp + "\" /script=\"" + file + "\""
  
  proc = MLAB.newProcess()
  proc.addArgument(cmd)
  proc.setStdOutHandler(ctx,"_procStdOut")
  proc.setStdErrHandler(ctx,"_procStdErr")
  proc.setExitedHandler(ctx,"_procFinished")
  
  global _processes
  _processes[proc] = file
  
  proc.run()
Exemple #3
0
def _executeScript(script):
  tmp = MLABFileManager.getTmpDir()
  if not tmp[-1] == "/":
    tmp += "/"
  now = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
  
  file = MLABFileManager.getUniqueFilename(tmp,now,".scp")
  MLABFileManager.writeStringToFile(file,script)
  
  winscp = ctx.expandFilename("$(LOCAL)/winscp416.exe")
  
  cmd = "\"" + winscp + "\" /script=\"" + file + "\""
  
  proc = MLAB.newProcess()
  proc.addArgument(cmd)
  proc.setStdOutHandler(ctx,"_procStdOut")
  proc.setStdErrHandler(ctx,"_procStdErr")
  proc.setExitedHandler(ctx,"_procFinished")
  
  global _processes
  _processes[proc] = file
  
  proc.run()