wxPopen.py
changeset 686 e4e1da75d411
parent 424 86a7c1d11bbd
child 704 5993b16fe2d0
equal deleted inserted replaced
685:2db8b87016a0 686:e4e1da75d411
   124 
   124 
   125     def output(self,v):
   125     def output(self,v):
   126         self.outdata += v
   126         self.outdata += v
   127         self.outlen += 1
   127         self.outlen += 1
   128         if not self.no_stdout:
   128         if not self.no_stdout:
   129             if wx.GetApp() is None:
   129             self.logger.write(v)
   130                 self.logger.write(v)
       
   131             else:
       
   132                 wx.CallAfter(self.logger.write,v)
       
   133             
   130             
   134     def errors(self,v):
   131     def errors(self,v):
   135         self.errdata += v
   132         self.errdata += v
   136         self.errlen += 1
   133         self.errlen += 1
   137         if not self.no_stderr:
   134         if not self.no_stderr:
   138             if wx.GetApp() is None:
   135             self.logger.write_warning(v)
   139                 self.logger.write_warning(v)
       
   140             else:
       
   141                 wx.CallAfter(self.logger.write_warning,v)
       
   142 
   136 
   143     def log_the_end(self,ecode,pid):
   137     def log_the_end(self,ecode,pid):
   144         self.logger.write(self.Command_str + "\n")
   138         self.logger.write(self.Command_str + "\n")
   145         self.logger.write_warning(_("exited with status %s (pid %s)\n")%(str(ecode),str(pid)))
   139         self.logger.write_warning(_("exited with status %s (pid %s)\n")%(str(ecode),str(pid)))
   146 
   140 
   147     def finish(self, pid,ecode):
   141     def finish(self, pid,ecode):
   148         self.finished = True
   142         self.finished = True
   149         self.exitcode = ecode
   143         self.exitcode = ecode
   150         if self.exitcode != 0:
   144         if self.exitcode != 0:
   151             if wx.GetApp() is None:
   145             self.log_the_end(ecode,pid)
   152                 self.log_the_end(ecode,pid)
       
   153             else:
       
   154                 wx.CallAfter(self.log_the_end,ecode,pid)
       
   155         if self.finish_callback is not None:
   146         if self.finish_callback is not None:
   156             self.finish_callback(self,ecode,pid)
   147             self.finish_callback(self,ecode,pid)
   157 
   148 
   158     def kill(self,gently=True):
   149     def kill(self,gently=True):
   159         self.outt.killed = True
   150         self.outt.killed = True