Acerca del blog ..

Aquí pongo mis pequeñas notas sobre cosas que voy olvidando. Entre las anotaciones puede que tal vez encuentres alguna que otra opinión seguramente equivocada.

Un servidor web de bolsillo gracias a python

junio 16th, 2009 by pcaro

Otra cosita para recordar.
La forma más simple de servir unos ficheros vía web:

python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"

Anotado en Python, yaco | Sin comentarios »

Convertir filtros de kmail a filtros sieve

junio 6th, 2009 by pcaro

No hace mucho que dejé de usar POP en mis correos para pasarme al IMAP desconectado de kmail con toda las ventaja que ello supone.

Pero todavía seguía utilizando los mismos filtros en kmail que me ordenan los correos por carpeta. Con este sistema el filtrado se realiza una vez descargado el correo, de forma que, ahora con imap, el kmail tiene que pasar los filtros y actualizar las carpetas en el servidor tras el moviento de correos. Desde luego no es lo más conveniente.

Lo más util que el filtrado del correo se realice en el servidor. De esta forma nuestro correo ya se encuentra organizado accedas con el cliente que accedas al correo (webmail, móviles de última generación, etc). Para ello existen los filtros sieve.

Pero yo ya tenía mis filtros en kmail, de forma que me hice un pequeño programita python que convirtiera mis filtros de kmail en un fichero con los filtros sieve.

No discrimina entre cuentas y solo esta probado (y funciona) con mis filtros simples de moviento de correo, pero lo dejo aquí por si a alguien pudiera resultarle de utilidad.

Para usarlo:

  1. Guardar los filtros de kmail (Preferencias -> Configurar filtros -> Exportar) en un fichero (por ejemplo filtros_pcaro.ini)
  2. Ejecutar python kmail_to_sieve.py  filtros_pcaro.ini > filtros.sieve Por la salida de error indicará que no ha podido convertir.
  3. Examinar filtros
  4. Subir y activar desde el mismo kmail (Preferencias -> Gestionar guiones de Sieve.

Podeís descargarlo desde aquí: kmail_to_sieve

PD: Arreglado el enlace. Gracias Helder por avisar.

Anotado en linux, Python, sistemas, yaco | Sin comentarios »

Cambiar ipython para copiar y pegar luego como doctest

febrero 2nd, 2009 by pcaro

Otra de las ordenes que nunca recuerdo. Estando dentro de ipython para cambiar el prompt de forma que luego sea fácil crear doctests:

%doctest_mode

Esto entra en  el modo doctest de ipython. También puede ayudar %history -tn para recordar los commandos introducidos previamente.

Anotado en Python, yaco | Sin comentarios »

Compartir ficheros gracias a python

noviembre 8th, 2008 by pcaro

Para compartir de forma rápida unos ficheros vía web graias a python, lo más fácil es:

python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"

Anotado en Python | Sin comentarios »

Error con setuptools y subversion 1.5

septiembre 14th, 2008 by pcaro

La actual versión de setuptools no se lleva bien el subversion 1.5 (también el actual en mi ubuntu).

Normalmente acostumbro a usar virtualenv y me he encontrado con el error:

NameError: global name 'log' is not defined

Ya está arreglado en el desarrollo de setuptools. Una posible solución es:

easy_install setuptools==dev06'

Aquí temos más información.

Anotado en Programación, Python | 1 Comentario »

Ejecutar comandos en python

marzo 4th, 2008 by pcaro

Hago a menudo pequeños scripts en python. Y muchas de las veces necesito ejecutar algún comando del sistema.

Habitualmente importaba el módulo os y llamaba a alguna de sus funciones (las popen).

Pero en general no hace falta importar os. Existe un módulo llamado commands (sólo para unix) que permite realizar esta tarea con suma facilidad y mejor lectura del código.

Dejar claro que para cosas más avanzadas es mejor usar subprocess que pretende reemplazarlo.

Anotado en Programación, Python | Sin comentarios »

¡Que práctico es python!: svnrevisions.py

abril 10th, 2007 by pcaro

Pongo a continuación un script rápido que hice hace ya un tiempo. En ese momento estaba realizando un backport de código y de forma sucia realicé varios

svn up -rTAL

De esa forma y con unos pequeños cambios obtuve el cambio que necesitaba. Pero después de un rato no recordaba que fichero cambié exactamente y a qué revisiones. Un poquito de terminal y listo.

Se que es sucio, que podría usar las librerías de python para subversion, etc. Pero se hizo de forma rápida y funciona.

El funcionamiento se puede ver en el código fuente, pero pongo una ayudita:

$ python svnrevisions.py
$ python svnrevisions.py 123
$ python svnrevisions.py ALL

Aquí dejo el código: svnrevisions

Anotado en Python | Sin comentarios »