wxPopen.py
changeset 151 43614ea83d2a
parent 149 fc7fe0de9143
child 154 f3134b2c6d92
equal deleted inserted replaced
150:204d515df3dd 151:43614ea83d2a
    47     def run(self):
    47     def run(self):
    48         self.retval = None
    48         self.retval = None
    49         while self.retval is None and not self.killed :
    49         while self.retval is None and not self.killed :
    50             self.retval = self.Proc.poll()
    50             self.retval = self.Proc.poll()
    51             outchunk = self.fd.readline()
    51             outchunk = self.fd.readline()
    52             if outchunk == '':
    52             #if outchunk == '':
    53                 break
    53             #    break
    54             if self.callback :
    54             if self.callback :
    55                 wx.CallAfter(self.callback,outchunk)
    55                 self.callback(outchunk)
    56         if self.endcallback:
    56         if self.endcallback:
    57             try:
    57             try:
    58             	err = self.Proc.wait()
    58             	err = self.Proc.wait()
    59             except:
    59             except:
    60                 err = self.retval
    60                 err = self.retval
   107 
   107 
   108     def output(self,v):
   108     def output(self,v):
   109         self.outdata += v
   109         self.outdata += v
   110         self.outlen += 1
   110         self.outlen += 1
   111         if not self.no_stdout:
   111         if not self.no_stdout:
   112             self.logger.write(v)
   112             wx.CallAfter(self.logger.write,v)
   113 
   113 
   114     def errors(self,v):
   114     def errors(self,v):
   115         self.errdata += v
   115         self.errdata += v
   116         self.errlen += 1
   116         self.errlen += 1
   117         if not self.no_stderr:
   117         if not self.no_stderr:
   118             self.logger.write_warning(v)
   118             wx.CallAfter(self.logger.write_warning,v)
   119 
   119 
   120     def finish(self, pid,ecode):
   120     def finish(self, pid,ecode):
   121         self.finished = True
   121         self.finished = True
   122         self.exitcode = ecode
   122         self.exitcode = ecode
   123         if self.exitcode != 0:
   123         if self.exitcode != 0: