Repost: Text not showing up

Simone dezmodue at gmail.com
Mon Oct 17 03:52:01 EDT 2005


Simone wrote:

>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
>
>
>
>  
>




More information about the Python-list mailing list