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 |