Buenas...

Perdón, pero el anterior correo salio cortado....

Creo que no he descrito demasiado bien el problema que tengo. La salida que
tengo que controlar es la generada por los comandos de un cli, que se crea
mediante plugins
Para haceros una idea de lo que ya está funcionando (en todos nuestros
servidores):

http://oss.alea-soluciones.com/trac/wiki/BoscliOss
http://oss.alea-soluciones.com/files/screencasts/demo-boscli-oss-asterisk.html

Es decir es una libreria para crear CLIs tipo CISCO o similar mediante la
creación de modulos con comandos.
Estos módulos (plugins) tienen comandos/funciones  que generan salida por la
consola, pero que el CLI que es el que los ejecuta tiene que controlar esta
salida, para por ejemplo filtrar, paginar, etc.

Básicamente, el cli, importa modulos desde directorios de plugins, por lo
que a priori no conoce el contenido de las funciones, ni obliga a cómo estén
implementadas. Por eso las funciones pueden contener "prints", ejecución de
comandos externos, mediante subprocess, o similar.  Por tanto el cli, se
encarga de llamar a el comando correspondiente, encargandose de procesar la
salida por consola de estos.

Ahora el proceso más o menos es:
 * Con readline, el usuario selecciona un comando
 * El cli elige la función correspondiente a ese comando
 * El cli cambia el stdout estándard por un filtro que se encarga de
procesar lo que se escriba en el stdout, filtrando la salida
 * El cli ejecuta la función correspondiente a ese comando, de forma que la
salida por consola que haga la ejecución de la función se va escribiendo en
el objeto de filtro que ha sustituido
 * Una vez terminada la ejecución de la función, se vuelve a dejar el stdout
original (sys.stdout)

El tema es que no se si cambiar el sys.stdout por un objeto filtro es la
forma adecuada de poder procesar la salida o existe alguna otra forma más
sencilla.

Gracias de antemano por cualquier sugerencia

Saludos


-- 
Hasta otra!!!
   Eduardo Ferro Aldama
   Alea Soluciones

   http://www.alea-soluciones.com
   http://oss.alea-soluciones.com
   http://doc.alea-soluciones.com
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a