Das Glade Gui besteht aus zwei Texteingabezeilen und einen Knopf. Der Knopf hat ein callback namens go an seinem clicked Signal.
Code: Alles auswählen
#!/usr/bin/python
import sys, os, threading
try:
import pygtk
pygtk.require("2.0")
except:
pass
try:
import gtk
import gtk.glade
except:
sys.exit(1)
class streamripper(threading.Thread):
def __init__(self, cmd):
threading.Thread.__init__(self)
self.command = cmd
print "Streamripper Object created"
self.start()
print "Streamripper started"
def run(self):
os.system(self.command)
class streamrippergui:
def __init__(self):
self.gladefile = "/home/robert/eclipse/Python/Streamripper_GTK_Frontend/gui.glade"
self.wTree = gtk.glade.XML(self.gladefile)
self.url = self.wTree.get_widget("streamurl")
self.location = self.wTree.get_widget("saveplace")
dic = { "go" : self.go, "kill" : self.destroy}
self.wTree.signal_autoconnect(dic)
def destroy(self, widget, data=None):
gtk.main_quit()
def go(self, param=None):
self.command = str("streamripper "+self.url.get_text()+" -d "+ self.location.get_text())
self.ripper = streamripper(self.command)
if __name__ == "__main__":
gui = streamrippergui()
gtk.main()
os.system("killall streamripper")
del gui