rendered paste body#!/usr/bin/python -tt
import pygtk
pygtk.require('2.0')
import gtk
import os
import subprocess
arg = ["kadischi"]
class Kadischi(gtk.Window):
def __init__(self):
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
self.set_size_request(300, 200)
self.set_title("Kadischi: Fedora LiveCD Creator Tool")
self.connect("delete_event", lambda w,e: gtk.main_quit())
vbox = gtk.VBox(False, 0)
vbox.show()
self.add(vbox)
label = gtk.Label("Enter a Repository")
label.show()
vbox.pack_start(label, True, True, 0)
self.repo = gtk.Entry()
self.repo.set_max_length(50)
self.repo.insert_text("/bordeaux", len(self.repo.get_text()))
self.repo.select_region(0, len(self.repo.get_text()))
vbox.pack_start(self.repo, True, True, 0)
self.repo.show()
label = gtk.Label("Enter a filename and its location")
label.show()
vbox.pack_start(label, True, True, 0)
self.image = gtk.Entry()
self.image.set_max_length(50)
self.image.insert_text("/tmp/mylive.iso", len(self.image.get_text()))
self.image.select_region(0, len(self.image.get_text()))
vbox.pack_start(self.image, True, True, 0)
self.image.show()
hbox = gtk.HBox(False, 0)
vbox.add(hbox)
hbox.show()
check = gtk.CheckButton("Force")
hbox.pack_start(check, True, True, 0)
#check.connect("toggled", self.set_arg, repo)
check.set_active(True)
check.show()
check = gtk.CheckButton("Text mode ")
hbox.pack_start(check, True, True, 0)
#check.connect("toggled", self.set_arg, entry)
check.set_active(True)
check.show()
button = gtk.Button(stock=gtk.STOCK_OK)
button.connect("clicked", self.exec_kadischi)
vbox.pack_start(button, True, True, 0)
button.set_flags(gtk.CAN_DEFAULT)
button.grab_default()
button.show()
self.show()
def exec_kadischi(self, image_text):
arg = []
arg.append(self.repo.get_text())
arg.append(self.image.get_text())
print "Entry contents: %s\n" % arg
execute(arg)
gtk.main_quit()
def main(self):
gtk.main()
def execute (args):
print args
if not os.access(args[0], os.X_OK):
print "[kadischi]: unable to access", args[0]
rc = subprocess.call(args)
if rc:
gtk.main_quit()
raise RuntimeError, "Failed to execute", args[0]
if __name__ == "__main__":
program = Kadischi()
program.main()