def finFunc(): errors = StringIO(''.join(err)).readlines() output = StringIO(''.join(out)).readlines() serr = ErrorStack.buildErrorList(errors) if serr or output: self.checkError(serr, _('Ran'), output, errRaw=errors) if execFinish: execFinish(self)
def run(self, cmd, Parser=ErrorStack.StdErrErrorParser, caption=_('Execute module'), root='Error', autoClose=False): import ProcessProgressDlg dlg = ProcessProgressDlg.ProcessProgressDlg(None, cmd, caption, autoClose=autoClose) try: dlg.ShowModal() serr = ErrorStack.buildErrorList(dlg.errors, Parser) return self.checkError(serr, _('Ran'), dlg.output, root, dlg.errors) finally: dlg.Destroy()
def run(self, cmd, inpLines=[], execStart=None): inpLines.reverse() inp, outp, errp = os.popen3(cmd) pid = 0 # XXX only available on unix :( if execStart: wx.CallAfter(execStart, pid) out = [] while 1: if inpLines: inp.write(inpLines.pop()) l = outp.readline() if not l: break out.append(l) errLines = errp.readlines() serr = ErrorStack.buildErrorList(errLines) self.pid = pid if serr or out: return self.checkError(serr, _('Ran'), out, errRaw=errLines) else: return None