rendered paste body#!/usr/bin/env pythonimport pygtkpygtk.require("2.0")import gtk, gtk.gladeclass PyCompress: def __init__(self): #Cargar archivo Glade self.gladefile = "pycompress.glade" self.wTree = gtk.glade.XML(self.gladefile, "window_principal") dic = {"on_window_principal_destroy" : self.quit , "on_btn_seleccionar_clicked" : self.on_btn_seleccionar_clicked , "on_btn_descomprimir_clicked" : self.on_btn_descomprimir_clicked , "on_btn_salir_clicked" : self.on_btn_salir_clicked} self.wTree.signal_autoconnect(dic) '''self.glade = gtk.glade.XML("pycompress.glade") self.glade.signal_autoconnect(self) self.glade.get_widget("window_principal").show_all()''' def on_window_principal_delete_event(self, widget): gtk.main_quit() def quit(self, widget): gtk.main_quit() def on_btn_salir_clicked(self, widget): gtk.main_quit() def on_btn_seleccionar_clicked(self, widget): seleccionar_archivo() def seleccionar_archivo(self, widget, entry_ruta): dialog = gtk.FileChooserDialog("Selecciona Archivo a Descomprimir", None, gtk.FILE_CHOOSER_ACTION_OPEN, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK)) dialog.set_default_response(gtk.RESPONSE_OK) filter = gtk.FileFilter() filter.set_name("All files") filter.add_pattern("*") dialog.add_filter(filter) filter = gtk.FileFilter() filter.set_name("Extension") filter.add_pattern("*.bz2") filter.add_pattern("*.tar") filter.add_pattern("*.gz") filter.add_pattern("*.tar.gz") filter.add_pattern("*.tar.bz2") filter.add_pattern("*.zip") filter.add_pattern("*.rar") dialog.add_filter(filter) response = dialog.run() if response == gtk.RESPONSE_OK: ruta_archivo = dialog.get_filename() ruta = entry_ruta.get_text() elif response == gtk.RESPONSE_CANCEL: print 'Cerrado, no se ha seleccionado ningún archivo' dialog.destroy() def main(): gtk.main() if __name__ == "__main__": PyCompress() main()