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","esi totext","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
2 1723
>> 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:
The problem is that the changes take effect after gtk has reentered its
event-loop. Which won't happen until your programs terminate.
If your goal is only to display the messages, there is certainly a way
to process the event loop for one iteration. Try and google for GTK
event loops.
If you want to display an continuous update, you will have to install a
timer event, and start the burning as subprocesses.
Regards,
Diez
> The problem is that the changes take effect after gtk has reentered its event-loop. Which won't happen until your programs terminate.
With programs I mean of course the burning commandos.
Diez This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Ohaya |
last post by:
Hi,
We've been having a problem with one particular page that has a button
on it, and a "tall" image (top-to-bottom).
The button calls some simple Javascript to print the frame in which the...
|
by: David Shorthouse |
last post by:
I am attempting to create a "new account creation" asp, but would ideally
like the routine to check the Access db for an existing email address and
username (called UID below). The select query...
|
by: Adam |
last post by:
I've posted about this previously, but failed to receive
a satisfactory response, so have included a code sample:
I am trying to receive messages from an HTML viewer
control in compact.net (c#),...
|
by: Doug |
last post by:
This is a repost of an item that I still cannot resolve.
I have 3 combo boxes. The first leads to the second to the third.
When I have selected a value in the second box, the third box shows...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
| |