…. para mi consumo personal.
Y es que resulta que he visto en MetaCPAN un buen número de módulos Perl listos para emplearse en tareas reales relacionados con el tema: crear tweets cada vez que alguien publica algo nuevo vía un feed RSS (o Atom).
Tengo curiosidad por ver si, partiendo de los paquetes Debian correspondientes -sin instalaciones extrañas-, consigo crear algo simple que funcione sin más problemas que los de acceso a las cuentas. Estaría bien que, para variar, las cosas fuesen lo bastante estables como para centrarnos en el problema y no en las herramientas.
Objetivos
El programa (un script más bien) debe ser capaz de:
- Leer un feed regularmente y extraer las nuevas publicaciones.
- Conectar con una cuenta Twitter con las credenciales adecuadas y por cada nuevo contenido hallado:
- Crear un URL corto para el contenido.
- Crear un tweet dentro de los límites
- Publicar el tweet
- Informar vía correo electrónico de la actividad realizada.
Herramientas
- Los siguientes módulos Perl ya empaquetados en Debian Wheezy:
- Net::Twitter para conectar con Twitter.
- XML::Feed para descargar y analizar feeds.
- Email::Sender para enviar mensajes de correo.
- WWW::Shorten para construir URL abreviados.
- Config::Auto para manejar archivos de configuración.
- Módulos Perl no empaquetados para Debian Wheezy pero fáciles de construir como paquetes:
- MooseX::App para construir el armazón del programa. Algo lento pero fácil de mantener.
Con respecto a los módulos no empaquetados tengo que reconocer dos cosas: la primera es que incluir MooseX::App es por puro capricho, me gusta mucho su enfoque, y la segunda es que es bastante fácil construirlos empleando la herramienta dh-make-perl junto con apt-file para encontrar las dependencias.
En el caso de MooseX::App sólo me he encontrado con lo siguiente:
- Requiere la versión 6.59 de ExtUtils::Makemaker mientras que en Wheezy existe la 6.5705. Los test pasan correctamente así que, salvo error de concepción del autor, se pueden dar por válidos.
- Las dependencias creadas automáticamente (junto con el archivo de copyright) son erróneas, pero es muy sencillo de arreglar.
Recursos y disposiciones
Muy simple: para empezar el desarrollo voy a necesitar de un repositorio Git en el que alojar el software. Afortunadamente tengo fácil acceso a uno: https://astillas.net/gitweb?p=rss2twitter.git.
Y ahora comencemos …