Archivo

Artículos etiquetados y‘python’

Lanzador de aplicaciones en Python para ubuntu…

Agosto 20, 2009 Otto Deja un comentario

Ahí les dejo un lanzador de terminales que hice para la empresa donde trabajo. Simplemente muestra cuatro botones y ejecuta terminales de gnome (gnome-terminal) y a su vez les envia parámetros de conexión (protocolos ssh y telnet).

#!/usr/bin/env python

# manejo de conexiones desde python

import pygtk
pygtk.require("2.0")
import gtk
import os

class HacerLlamadas:
   def enl_desarrollo(self, widget, data=None):
      os.system("gnome-terminal -e \"ssh 172.16.1.3 -l mi_login\" &")

   def enl_produccion(self, widget, data=None):
      os.system("gnome-terminal -e \"telnet 172.16.1.4 -l mi_login\" &")

   def ftp_desarrollo(self, widget, data=None):
      os.system("gnome-terminal -e \"ftp 172.16.1.3\" &")

   def ftp_produccion(self, widget, data=None):
      os.system("gnome-terminal -e \"ftp 172.16.1.4\" &")

   def delete_event(self, widget, event, data=None):
      gtk.FALSE

   def destroy(self, widget, data=None):
      gtk.main_quit()

   def __init__(self):
      self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
      self.window.connect("delete_event", self.delete_event)
      self.window.connect("destroy", self.destroy)
      self.window.set_border_width(5)
      self.window.set_title("Enlaces Alcanos")

      self.box1 = gtk.VButtonBox()
      self.window.add(self.box1)

      self.btn_edesa = gtk.Button("Servidor de desarrollo")
      self.btn_edesa.connect("clicked", self.enl_desarrollo, None)

      self.btn_eprod = gtk.Button("Servidor de produccion")
      self.btn_eprod.connect("clicked", self.enl_produccion, None)

      self.btn_fdesa = gtk.Button("Ftp de desarrollo")
      self.btn_fdesa.connect("clicked", self.ftp_desarrollo, None)

      self.btn_fprod = gtk.Button("Ftp de produccion")
      self.btn_fprod.connect("clicked", self.ftp_produccion, None)

      self.box1.set_border_width(5)
      self.box1.set_layout(gtk.BUTTONBOX_SPREAD)
      self.box1.set_spacing(5)

      self.box1.pack_start(self.btn_edesa, True, True, 0)
      self.box1.pack_start(self.btn_eprod, True, True, 0)
      self.box1.pack_start(self.btn_fdesa, True, True, 0)
      self.box1.pack_start(self.btn_fprod, True, True, 0)

      self.btn_edesa.show()
      self.btn_eprod.show()
      self.btn_fdesa.show()
      self.btn_fprod.show()

      self.box1.show()
      self.window.show()

   def main(self):
      gtk.main()

if __name__ == "__main__":
   ventana = HacerLlamadas()
   ventana.main()