jueves, 4 de enero de 2007

Construyendo un programa que recuerde cumpleaños basado en vcards

Aunque uso evolution para organizar mi agenda, le faltan algunas posibilidades por las que se me queda corto. Hace un tiempo empecé ha intentar desarrollar un programa en mono que, utilizando el binding disponible para evolution accediese a las fechas de nacimiento de mis contactos para avisarme de que llegaba su cumpleaños. No hubo forma de acceder a la fecha de nacimiento. Busque información y accedía a la mayoría de los campos de la agenda pero no a las fechas de nacimiento y matrimonio, así que acabé abandonando la idea.

Un tiempo después tras aprender python decidí buscar si para éste había alguna librería que permitiese acceder al servicio evolution-data-server pero todavía nadie ha desarrollado nada del estilo, así que otro intento fallido.

Finalmente estas navidades tras llevar pensándolo un tiempo, decidí volver al tema pero basándome en las vcards que evolution permite exportar. Este es un formato libre y usado actualmente por muchas agendas para importar/exportar datos. Encontré unas librerías llamadas vobject que permiten acceder de forma simple a los datos de las vcards y por fin conseguí obtener los datos necesarios para seguir desarrollando mi programilla. Con el acceso a los datos no fue complicado preparar unos métodos que calculasen el próximo cumpleaños de cada contacto y mostrar mediante python-notify (binding a libnotify) unos elegantes popups que me indiquen quien cumplirá años en los próximos cinco días con su foto, edad y correo electrónico.

Espero publicar este código dentro de poco. (Cuando encuentre el lugar y la forma adecuada).

Presentación

Trabajo como programador y desde hace unos años soy un apasionado del software libre. Leo constantemente muchas páginas en castellano e ingles, a veces buscando algo y otras por entretenimiento. De estas lecturas aprovecho muchas cosas y me siento en la necesidad de compartir con otros mis descubrimientos o nuevos desarrollos, finalidad por la que me decido a crear el blog.

Soy asiduo colaborador de wikipedia. Mi sistema operativo es ubuntu. En mis ratos libres programo en python, lenguaje que llevo usando una temporada y me parece apasionante para hacer pequeños desarrollos, aunque profesionalmente utilizo C#.

Espero que mis publicaciones puedan ser de utilidad para alguien.

Un cordial saludo.