Hi all, I am new to python and trying to write a simple GUI that would call 2 growisofs processes (dvd burning) at the same time, and retrive the exit code to be printed on a text box (couldn't find any program that could use multiple dvd burners, not even k3b). Excuse me if this is really a simple problem, but two days of googling didn't help. The program is really simple, I developed the GUI using glade and it works. The only thing I would like to improve is that I'd like it to show in the text boxes messages like "Waiting for use input" or "Burning dvd please wait", but it looks like even though I don't have any error, the message won't show up until the burning process is finished (showing either "burning successfully" or "an error occurred"). I am not sure I made myself clear on this, but I will post the relevant code trying to explain it:
import os, sys import gtk.glade class DVD: def __init__(self): print "Initializing the Graphic User Interface: This may take some time" self.xml=gtk.glade.XML("./dvd2.xml") self.window=self.xml.get_widget("dvd") self.xml.signal_connect('on_quit_clicked', self.Quit) self.xml.signal_connect('on_burn_clicked', self.Burn) self.OrdKeys=["comboentry1","entry1","spinbutton1","entry2","esitotext","esitotext1"] # here esitotext is the box I want the text to show up def Quit(self, *args): gtk.mainquit() def Burn(self, *args): comand="" comand2="" name=self.xml.get_widget("entry1").get_text() #name for the dvd path=self.xml.get_widget("comboentry1").get_text() #path to dvd AUDIO_TS and VIDEO_TS num=self.xml.get_widget("spinbutton1").get_text() #chosing the number of dvd to burn pub=self.xml.get_widget("entry2").get_text() #publisher self.xml.get_widget("esitotext").set_text("Waiting for input") # THIS NEVER SHOWS UP dvd1="/dev/hda" # this is the first dvd burner, edit as needed dvd2="/dev/hdc" # this is the second dvd burner, edit as needed comand+="growisofs -dvd-compat -Z "+dvd1+" -dvd-video -V "+name+" -publisher "+pub+" "+path comand2+="growisofs -dvd-compat -Z "+dvd2+" -dvd-video -V "+name+" -publisher "+pub+" "+path if num == "1": self.xml.get_widget("esitotext").set_text("Burning the dvd, please wait") # THIS NEVER SHOWS UP, unless i have an error and the program # quits before executing the command self.xml.get_widget("esitotext").show() # don't know if this is correct, but it doesn't work either f = os.popen(comand, 'r') line = f.readline() error_in_prog = f.close() if error_in_prog: error=str(error_in_prog) self.xml.get_widget("esitotext").set_text("An error occurred. Burn not completed") # THIS COMES UP as it should self.xml.get_widget("esitotext").show() else: self.xml.get_widget("esitotext").set_text("Burn completed successfully") # THIS COMES UP as it should self.xml.get_widget("esitotext").show() if __name__=='__main__': main=DVD() gtk.main() Any comment, help, url, really appreciated. Have a nice day Simone -- http://mail.python.org/mailman/listinfo/python-list