Si estamos interesados en una lista de correo gestionada con Mailman y queremos tener acceso a los últimos mails mediante RSS, es posible utilizar el script en perl Mailman RSS Feed. Para ello vamos a necesitar instalar algunos extras para Perl:
aptitude install libxml-rss-perl libcrypt-ssleay-perl
A continuación nos descargamos el script:
wget http://jmason.org/software/scripts/mailman-archive-to-rss.txt
Y lo editamos…. vemos que en las primeras lineas se encuentra la configuración:
@LISTS = ( { rss_version => '0.91', archive => 'http://www.xent.com/pipermail/fork/%Y-%B/', archive_style => 'date', description => 'The Friends of Rohit Khare list', num_visible => 25, scrape_text => 1, rss_output => './list.rss' } );
En “archive” debemos poner la URL de nuestro archivo, por ejemplo la de la lista de correo de GPL Tarragona es del tipo https://listas.hispalinux.es/pipermail/gplurv/2005-August/. Si os fijais, el script rellenara automaticamente el año (%Y) y el mes (%B) actual. En el caso de GPL Tarragona me he encontrado con varios problemas:
- El nombre del mes se escribirá todo en minusculas, mientras que la URL buena necesita que la primera letra del mes sea en mayuscula.
- Si las LOCALES estan puestas en un idioma diferente al ingles, se generara la URL con el nombre del mes en un idioma diferente al ingles, por ejemplo en castellano “Agosto”. Sin embargo la URL buena necesita el mes en ingles.
Para solucionar estos problemas he hecho una pequeño hack sobre la linea 94:
$archiveurl = strftime ($archiveurl, gmtime());
Lo he substituido por:
my $url = "https://listas.hispalinux.es/pipermail/gplurv/%Y-"; my $month = ucfirst lc POSIX::strftime("%B", gmtime()); $url = strftime($url, gmtime()); $archiveurl = $url . $month . "/"; #$archiveurl = strftime ($archiveurl, gmtime());
Así evitamos el problema de la mayuscula.
Para evitar el problema de las LOCALE simplemente tendremos que ejecutar el script indicando que las locales estan en ingles:
LC_ALL="en" perl mailman-archive-to-rss.txt
Y eso nos generará el archivo “list.rss” con los últimos mails de la lista 🙂 Si ese archivo es accesible mediante un navegador web, ya tenemos RSS para la lista de correo.
Actualización WordPress me añade una barras \ en las dobles comillas que no deben estar tanto en el código del script como en la ejecución del mismo.