Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/11/2011, 07:50
nixonmolina18
 
Fecha de Ingreso: noviembre-2011
Mensajes: 12
Antigüedad: 13 años
Puntos: 0
Capturar salida del shell

Saludos! tengo un problema al capturar la salida que me da el shell, estoy trabajando con gtk2 para hacer una interfaz gráfica, y no encuentro como hacer la condición para validar la salida, aqui dejo el código de lo que llevo hasta ahora.
Agradezco de antemano a quien me pueda ayudar.

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import os
  4. import gtk
  5. from subprocess import Popen, PIPE, STDOUT
  6.  
  7. texto = gtk.Entry()
  8.  
  9. def buscar(self, data=None):
  10.     #a= os.system('aptitude search '+texto6.get_text())
  11.     p = Popen('aptitude search '+texto.get_text(), stdout=PIPE, stderr = STDOUT, shell=True)
  12.     validar = p.stdout.read().split('\n')[0]
  13.     #print validar
  14.    
  15.     if validar == False:
  16.         message = gtk.MessageDialog(buttons=gtk.BUTTONS_OK, message_format="El paquete fue encontrado")
  17.         message.run()
  18.         message.hide()
  19.         print validar
  20.     else:
  21.         md=gtk.MessageDialog(buttons=gtk.BUTTONS_CLOSE, message_format="El paquete introducido no existe")
  22.         md.run()
  23.         md.destroy()
  24.  
  25. class Configuracion():
  26.    
  27.     def __init__(self):
  28.         self.ventana = gtk.Window(gtk.WINDOW_TOPLEVEL)
  29.         self.ventana.set_title("CONFIGURANDO")
  30.         self.ventana.set_border_width(10)
  31.         self.ventana.set_size_request(250, 200)
  32.         self.ventana.set_resizable(False)
  33.        
  34.         caja = gtk.HBox()
  35.         caja.set_border_width(10)
  36.        
  37.         etiqueta=gtk.Label("Paquete: ")
  38.        
  39.         texto.connect("activate", buscar)
  40.         texto.set_text("Escriba")
  41.  
  42.         caja.pack_start(etiqueta, False)
  43.         caja.pack_start(texto, False)
  44.        
  45.         self.ventana.add(caja)
  46.         self.ventana.show_all()
  47.        
  48.            
  49. if __name__ == "__main__":
  50.     app = Configuracion()
  51.     gtk.main()
  52. [HIGHLIGHT="Python"]
[/HIGHLIGHT]