In my sgtk toolkit app, I execute a subprocess command that takes several minutes to run. In my GUI, I’d like to display the output so the user knows something is happening. I have a working prototype, but when I put the code into my Shotgun toolkit app, it blocks the output until it’s done. Can’t figure out why…
def run_command(self, command): process = subprocess.Popen(command, stdout=subprocess.PIPE) while process.poll() is None: line = process.stdout.readline() output_line = line.strip() self.status.setText(output_line) QtGui.QApplication.processEvents() return_code = process.poll() return return_code
Even without the two widget status update lines, I am unable to get it to write to the log file until the command has finished. Any idea how to unblock the output, so I can display the lines in my widget…?
Thanks for any help,