[pyar] Empiezo una implementación: tail -f like software

Juanjo Conti jjconti en gmail.com
Mar Ago 31 12:48:38 ART 2010


El 31 de agosto de 2010 16:05, Juanjo Conti <jjconti en gmail.com> escribió:

> Parece que la idea de leer de la stdin TANTO el archivo de log como los
> comandos de usuario es un quilombo.
>
> Opté por un enfoque más simple. 2 hilos, uno lee el archivo y lo va
> poniendo en pantalla, el otro está a la espera de comandos de usuario (por
> stdin).
>

Bueno, cambié eso de usar raw_input() que me traía algunos problemas por una
solución más abstracta: cmd.Cmd.


>
> Adjunto la primera implementación, que tiene bastantes problemas:
>
> * Uso: para poder ingresar un comando primero hay que dar un enter, esto
> detiene la lectura del archivo (para no confundir lo que el usuario tipea
> con el log). Es pedorro pero me sirve.
>

Sigue igual.


> * Uso una variable global STOP para comunicar los dos hilos/procesos. No se
> si hace falta protegerla de alguna condición de competencia, a priori me
> parece que no, pero me gustaría estar usando algo más elegante.
>

Uso multriprocessing.Lock


> * Como uso hilos Ctrl-C no me corta el programa y tengo que matarlo con
> kill -9
>

Usando multiprocessing Ctrl-C corta el programa aunque bastante
abruptamente. Como ven en el .py adjunto, traté de atrapar la excepción y
salir elegantemente sin éxito aún.


> * NO implementé nada de lo que quería: filtros y colores. Si esta base, que
> no hace nada, anda bien, el resto sale por un tubo, creo.
>

Sigue sin existir esto, pero lo voy a hacer después de almorzar.

Como siempre, comentarios más que bienvenidos!
-- 
Juanjo Conti
blog: http://www.juanjoconti.com.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100831/e2042d65/attachment.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: bee.py
Type: application/x-python
Size: 738 bytes
Desc: no disponible
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100831/e2042d65/attachment.bin>


More information about the pyar mailing list