[opensuse-es] Idea tonta de un contador de correo
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hola: Para leer el correo uso Alpine (el nuevo Pine), pero dada mi multitud de carpetas no siempre descubro los correos que han llegado a cada una. Yo los cuento con un script tonto, a partir del log del procmail, buscando las lineas "folder": ] Subject: Re: [opensuse-es] [OT] resultados de la encuesta ] Folder: /home/cer/Mail/lists/os-es 7070 ]From opensuse-factory+bounces-13328-..... Lo lanzo con: ~> tailf ~/procmail.log | contarcorreo Y el script "contarcorreo" hace esto (reducido): DATE=`date --rfc-3339=seconds` while true ; do read DUMMY1 FOLDER DUMMY2 if test "Folder:" = $DUMMY1 ; then clear # echo $DUMMY1 $FOLDER $DUMMY2 echo " Contando desde " $DATE echo " ultimo correo " `date --rfc-3339=seconds` " ($DUMMY1 $FOLDER $DUMMY2)" echo case "$FOLDER" in /home/cer/Mail/lists/os-en) let let "os_en = $os_en + 1" ;; /home/cer/Mail/lists/os-es) let let "os_es = $os_es + 1" ;; ... esac echo -e "os_en :"$os_en \\t\\t "os_es :"$os_es fi done Lo cual en un xterm me produce la salida adecuada (dejandolo corriendo permanentemente desde antes de empezar a recoger correo): ] Contando desde 2008-09-12 13:26:28+02:00 ] ultimo correo 2008-09-12 14:22:45+02:00 (Folder: /home/cer/Mail/lists/y_gml_os-es 7056) ] ... ] ]os_en :2 os_es :6 ] Lo cual me indica que en ésta lista he recibido 6 correos desde que lo activé. Mi problema es borrar el contador de cada carpeta a voluntad. Ahora mismo lo que hago es matar y arrancar de nuevo el script, pero claro, eso reinicia todos los contadores. ¿Se os ocurre algo? Leer el teclado quizás y actuar... pero tendría que leer el teclado sin parar el proceso de leer la entrada estandard, que ahora mismo es la salida de una tubería que lee lo que se va escribiendo de nuevo en el log. Luego no puedo leer el teclado. Es una tarea de baja prioridad en mi lista de cosas por hacer, pero tengo curiosidad. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkjKYtcACgkQtTMYHG2NR9WP6gCdF7Qgi4U68wwAL0hEPgLbOFEU wUQAnA/Pgj1jEX16m5mUnFz4eWZCT9X2 =NYT1 -----END PGP SIGNATURE-----
Carlos E. R. wrote:
Hola:
Para leer el correo uso Alpine (el nuevo Pine), pero dada mi multitud de carpetas no siempre descubro los correos que han llegado a cada una.
[...]
... ] ]os_en :2 os_es :6 ]
Lo cual me indica que en ésta lista he recibido 6 correos desde que lo activé.
Mi problema es borrar el contador de cada carpeta a voluntad. Ahora mismo lo que hago es matar y arrancar de nuevo el script, pero claro, eso reinicia todos los contadores.
¿Se os ocurre algo? Leer el teclado quizás y actuar... pero tendría que leer el teclado sin parar el proceso de leer la entrada estandard, que ahora mismo es la salida de una tubería que lee lo que se va escribiendo de nuevo en el log. Luego no puedo leer el teclado.
Es una tarea de baja prioridad en mi lista de cosas por hacer, pero tengo curiosidad.
-- Saludos Carlos E.R.
Mmmm parece un poco complicado de hacer con bash, no? Y si usas trap para blanquear variables? Algo parecido a (untested y bastante feo) trap "os_en=0" 6 trap "os_es=0" 7 y asi poder pasarle un kill -6 para blanquear os_en, kill -7 para blanquear os_es....Si funciona, luego podrias embellecerlo en forma de, digamos, contarcorreoctl, pues saber el pid de "contarcorreo" es factible, y podrias asociar nombres (tus folders) a distintas señales (kill -l). Claro que estaria usando señales para cosas que nada tienen que ver con su uso original, pero fue lo primero (y unico) que se me ocurrio. Al menos usando bash. Pero suena factible. Saludos. Gerardo --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-09-12 a las 10:40 -0300, Gerardo Herzig escribió:
Mmmm parece un poco complicado de hacer con bash, no?
Lo que existe no, es facil, pero mejorarlo no se me ocurre muy bien como. Al contestar a Camaleón se me ha ocurrido una idea, quizás.
Y si usas trap para blanquear variables? Algo parecido a (untested y bastante feo)
trap "os_en=0" 6 trap "os_es=0" 7
y asi poder pasarle un kill -6 para blanquear os_en, kill -7 para blanquear os_es....Si funciona, luego podrias embellecerlo en forma de, digamos, contarcorreoctl, pues saber el pid de "contarcorreo" es factible, y podrias asociar nombres (tus folders) a distintas señales (kill -l).
Ugh.
Claro que estaria usando señales para cosas que nada tienen que ver con su uso original, pero fue lo primero (y unico) que se me ocurrio. Al menos usando bash. Pero suena factible.
Es un hack como una casa :-) Pero se puede adaptar. Otro programa enviaría una señal, sí, pero la que se usa para indicar a los daemons que se actualicen. Lo puedo emplear para que el primer proceso lea un fichero en el que cada linea corresponda a una variable a borrar. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkjK6ikACgkQtTMYHG2NR9XoIwCfeLo+VRUNN81VDS7HgO2jMccq PBUAnjwe9pjQiXQrgwy7GOlxQVsMBmDZ =e5mq -----END PGP SIGNATURE-----
El 12/09/08, Carlos E. R. escribió:
Para leer el correo uso Alpine (el nuevo Pine), pero dada mi multitud de carpetas no siempre descubro los correos que han llegado a cada una.
¿No permite Alpine pintar de colores las carpetas con nuevos mensajes o poner en negrita los "no leídos"? ¿no tiene opciones de aviso o monitorización? :-?
Yo los cuento con un script tonto, a partir del log del procmail, buscando las lineas "folder":
Hum... no sé si lo he entendido bien. A ver, el script actúa a modo de contador, es decir, no diferencia entre mensajes nuevos (leídos) o no, sino que sólo cuenta las líneas que se generan en el registro de procmail según llegan los mensajes ¿es "asín"? (...)
Mi problema es borrar el contador de cada carpeta a voluntad. Ahora mismo lo que hago es matar y arrancar de nuevo el script, pero claro, eso reinicia todos los contadores.
Jupe, ni idea, :-? pero alguna forma sencilla tendrá que haber para pasar un valor a una variable (os_en=0) a un programa que está en ejecución... las variables de entorno sí se pueden modificar en tiempo de ejecución ¿no? ¿se podría definir una variable de ámbito global para esta aplicación? ¿o... me estoy yendo por lo cerros de Úbeda? O:-) Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El vie, 12-09-2008 a las 22:25 +0200, Camaleón escribió:
Jupe, ni idea, :-? pero alguna forma sencilla tendrá que haber para pasar un valor a una variable (os_en=0) a un programa que está en ejecución... las variables de entorno sí se pueden modificar en tiempo de ejecución ¿no? ¿se podría definir una variable de ámbito global para esta aplicación? ¿o... me estoy yendo por lo cerros de Úbeda? O:-)
Una cosa es un programa y la otra un script... -- Saludos Lluis
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-09-12 a las 22:25 +0200, Camaleón escribió:
El 12/09/08, Carlos E. R. escribió:
Para leer el correo uso Alpine (el nuevo Pine), pero dada mi multitud de carpetas no siempre descubro los correos que han llegado a cada una.
¿No permite Alpine pintar de colores las carpetas con nuevos mensajes o poner en negrita los "no leídos"? ¿no tiene opciones de aviso o monitorización? :-?
Sí, pero lo hace procesando todas las carpetas marcadas (una a una) para monitorizarlas, y al ser enormes pues tarda bastante y se vuelve incómodo. A lo mejor lo intento de nuevo, me acabo de coscar que he actualizado a la versión 2 de alpine (la suse trae la uno) y a lo mejor ha mejorado la cuestión.
Yo los cuento con un script tonto, a partir del log del procmail, buscando las lineas "folder":
Hum... no sé si lo he entendido bien. A ver, el script actúa a modo de contador, es decir, no diferencia entre mensajes nuevos (leídos) o no, sino que sólo cuenta las líneas que se generan en el registro de procmail según llegan los mensajes ¿es "asín"?
Más o menos. No es contar las líneas que llegan, sino leerlas e identificar cuando llega una de que ha dejado un mensaje en alguna carpeta, y entonces incrementar el contador correspondienta a esa carpeta. Si no hay lineas nuevas, ese script no corre y no gasta cpu. Cutre, pero funciona.
(...)
Mi problema es borrar el contador de cada carpeta a voluntad. Ahora mismo lo que hago es matar y arrancar de nuevo el script, pero claro, eso reinicia todos los contadores.
Jupe, ni idea, :-? pero alguna forma sencilla tendrá que haber para pasar un valor a una variable (os_en=0) a un programa que está en ejecución...
Pues eso es lo que no se.
las variables de entorno sí se pueden modificar en tiempo de ejecución ¿no?
Claro. Pero sólo por el propio programa.
¿se podría definir una variable de ámbito global para esta aplicación? ¿o... me estoy yendo por lo cerros de Úbeda? O:-)
Un poco :-) A lo mejor si meto en una función esa parte y pongo en otra lo de leer el teclado... y leer el log en otra función, en lugar de con el pipe. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkjK6NwACgkQtTMYHG2NR9V90wCdEYiJ+/k+6gzTHWcf9kQ68zyK ifEAoJiGhnmod1bIdknFSoygBMcDbebH =vkwc -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Content-ID:
¿No permite Alpine pintar de colores las carpetas con nuevos mensajes o poner en negrita los "no leídos"? ¿no tiene opciones de aviso o monitorización? :-?
Sí, pero lo hace procesando todas las carpetas marcadas (una a una) para monitorizarlas, y al ser enormes pues tarda bastante y se vuelve incómodo.
No era eso, no me acordaba del problema exacto. Para que el Alpine cuente los mensajes nuevos de una carpeta hace falta definir una pseudo-colección de carpetas "de entrada". Si una de esas carpetas recibe un correo, lo cuenta, y lo hace bien (tiene varias modalidades ajustables) El problema es que además, cada carpeta de entrada tiene otra carpeta asociada adonde mueve todos los correos leidos... y eso destrozaría los hilos, solo aparecen en esa carpeta los nuevos, y los leídos no están. Eso no puede ser en una carpeta de una lista de correo. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkjNrwsACgkQtTMYHG2NR9XntQCeM4fHOtn31qRxgdXao2DjiGVc 100AnRzzD4el4KFGrutpPO3Qt1xns7wJ =IDAs -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-09-12 a las 14:38 +0200, Carlos E. R. escribió:
Hola:
Para leer el correo uso Alpine (el nuevo Pine), pero dada mi multitud de carpetas no siempre descubro los correos que han llegado a cada una.
Yo los cuento con un script tonto, a partir del log del procmail, buscando las lineas "folder":
...
Mi problema es borrar el contador de cada carpeta a voluntad. Ahora mismo lo que hago es matar y arrancar de nuevo el script, pero claro, eso reinicia todos los contadores.
¡Pues lo he conseguido! :-)) Pero no con un script. Estuve pensando en aprender TCL/TK, estuve mirando manuales, pero me pareció demasiado complicado. Mirando mirando, pues miré lo de Lazarus, que es como se llama el proyecto libre que ha "resucitado" el Delphi pero en libre... y como yo antes programaba en Pascal y toqué un poco el Delphi, pues lo he hecho con Lazarus (seguro que con fallos). Funciona. Tres dias devanandome los sesos, que están oxidados. Mando una fotito :-) - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkj5NXMACgkQtTMYHG2NR9X60ACcDZC1duhsj09/VmjWoTdm+nsj RDUAn3gMan0ytzRdHrVwkXcLKm3LDklr =7wEd -----END PGP SIGNATURE-----
El 18/10/08, Carlos E. R. escribió:
¡Pues lo he conseguido! :-))
Pero no con un script. Estuve pensando en aprender TCL/TK, estuve mirando manuales, pero me pareció demasiado complicado. Mirando mirando, pues miré lo de Lazarus, que es como se llama el proyecto libre que ha "resucitado" el Delphi pero en libre... y como yo antes programaba en Pascal y toqué un poco el Delphi, pues lo he hecho con Lazarus (seguro que con fallos).
Funciona. Tres dias devanandome los sesos, que están oxidados.
Ahí va... ¿Pascal para un contador? Será un contador con precisión atómica, lo menos :-P
Mando una fotito :-)
Ahora ya sabemos a cuántas listas estás suscrito ;-) Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-10-18 a las 22:55 +0200, Camaleón escribió:
El 18/10/08, Carlos E. R. escribió:
¡Pues lo he conseguido! :-))
Pero no con un script. Estuve pensando en aprender TCL/TK, estuve mirando manuales, pero me pareció demasiado complicado. Mirando mirando, pues miré lo de Lazarus, que es como se llama el proyecto libre que ha "resucitado" el Delphi pero en libre... y como yo antes programaba en Pascal y toqué un poco el Delphi, pues lo he hecho con Lazarus (seguro que con fallos).
Funciona. Tres dias devanandome los sesos, que están oxidados.
Ahí va... ¿Pascal para un contador? Será un contador con precisión atómica, lo menos :-P
X'-) A mi, por llevar la contraria, me encanta pascal como lenguaje de programación. Algo anticuado, pero como el C. Tiene un montón de añadidos que le han hecho, algunos que conozco y otros que no. Lo que falta es documentación del Lazarus, hay zonas oscuras: me ha costado más de la cuenta por cosas que no han terminado de desarrollar y por otras que no han documentado.
Mando una fotito :-)
Ahora ya sabemos a cuántas listas estás suscrito ;-)
¡Je! Que va, hay alguna mas de poco tráfico, y otras "no técnicas". Esas son las que tenía controladas, ahora tendré que meter el resto. El programita, como es para mí, no es configurable en absoluto: para cambiar cuaquier cosa hay que recompilar. Pero puedo cambiar el múmero de filas y columnas en un instante, aunque sea así. Y tengo cosas que no he conseguido bien, como enterarme de cuando alguien escribe en el log: lo hago por "polling". - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkj6VrAACgkQtTMYHG2NR9WQ5gCfVRLaqwjCqDpcxB93J/UhCvHR O+YAn3FOPpGLg5fMX+Aq7QzotbH36Ina =WHbk -----END PGP SIGNATURE-----
participants (5)
-
Camaleón
-
Carlos E. R.
-
Carlos E. R.
-
Gerardo Herzig
-
lluis