Un script para publicar feeds de una web o blog en una cuenta de GNUsocial.
Quieres publicar los feeds de una web o blog en una cuenta de GNUsocial, por aquí te traigo un script en python llamado feed2omb, sencillo de configurar que puede hacer ese trabajo por ti.
Pongámonos en situación: Imaginemos que nos gusta mucho la tira cómica de xkcd, y queremos publicar en nuestra cuenta de GNUsocial las últimas creaciones del dibujante. Podemos hacerlo a mano… o mejor utilizar un script que automatice la tarea.
Para ello descargamos el script desde su página en GitLab, para ello en nuestro equipo (con git instalado) escribimos:
git clone https://gitlab.com/CiaranG/feed2omb.git
Esto nos creará una carpeta llamada /feed2omb con el código necesario del script. Nos metemos en ella y empezamos a configurar los archivos necesarios para que haga lo que queremos.
Podemos tomar como base el archivo sample.config para a partir de él crear el archivo de configuración necesario para nuestro propósito. Así que lo copiamos con otro nombre, por ejemplo xkcd.config
En la configuración más básica deberemos editar unas cuantas líneas para que el script haga lo que queremos: publicar los feeds de xkcd en nuestra cuenta de GNUsocial. Abrimos el archivo con un editor y cambiamos lo que sea necesario
#The URL of the feed you want to post. Can be Atom or RSS, any version feedurl = http://example.com/feed #The base API URL for the microblogging service you want to post to. Examples: # # http://identi.ca/api # http://micro.ciarang.com/api # #This can be blank if you don't want to send to an OMB API, which would only #make sense if you were using XMPP instead - see below. apibaseurl = http://omb.example.com/api #Replace the following credentials with those for the microblogging service you want to post to user = example_user password = example_password
- En la variable feedurl deberemos poner la dirección de los feeds que queremos publicar. En mi ejemplo: https://xkcd.com/rss.xml
- En apibaseurl pondremos la dirección del nodo de GNUsocail donde tengamos nuestra cuenta: En mi ejemplo: https://quitter.no/api
- En user y password nuestro nombre de usuario y contraseña. En mi ejemplo: Victorhck y ****** 😛
Guardamos los cambios y probamos si todo funciona bien. Para ello el script tiene la función de testear y enviar el resultado a la línea de comandos y no a nuestra cuenta para probar si todo funciona bien:
python /home/feed2omb/feed2omb.py --update --test /home/feed2omb/xkcd.config
Llamamos al script con el parámetro –update que envía los feeds y –test que envía la salida por pantalla en vez de a la cuenta de GNUsocial y pasándole el archivo de configuración que queremos.
Si vemos algo similar a esto:
Reading config: /home/feed2omb/xkcd.config Reading feed... Found new entry: https://xkcd.com/1847/ Sent message would be: Dubious Study - https://xkcd.com/1847/ Reached requested limit Finished
Quiere decir que todo funciona OK. Así que podemos ejecutar el script sin la opción de –test y el feed se publicará en nuestra cuenta de GNUsocial que hayamos configurado.
Después ya podéis ir echando un vistazo más en profundidad sobre las diferentes opciones que tiene el archivo de configuración. Más variables a echar un vistazo y configurar a nuestro gusto pueden ser:
- sentmode: Para decidir qué forma queremos que envíe los enlaces
- msgmode: Para completar los post con más información. Autor, descripción, etc…
- messagereplace: Para añadir más texto a nuestros post publicados.
- maxpost: El número máximo de post que publicaremos.
Muy bien, pero… ¿tengo que ejecutar manualmente el script para publicar? Es aquí cuando cron nos viene a solucionar eso. Podemos crear una tarea en cron para que se ejecute cuando nosotros queramos. Por ejemplo, ejecutamos en una consola crontab -e y añadimos la siguiente línea:
*/30 * * * * python /home/feed2omb/feed2omb.py --update /home/feed2omb/xkcd.config
Guardamos y salimos. Con eso se ejecutará el script cada 30 minutos.
Podemos establecer más de un archivo de configuración y ejecutar el script pasándole uno u otro archivo de configuración para publicar diferentes feeds de diferentes sitios.
Si me seguís en GNUsocial podréis leer las tiras del comic de xkcd.
Enlaces de interés
- Script feed2obm en GitLab
- Tutorial en inglés
- Cron en WikiPedia
- Mi cuenta en Quitter.no de GNUsocial
- Web de xkcd
————————————————————–
Hola colega, interesante artículo. En casa tengo una raspberry pi con un script configurado en cron, que va añadiendo cada cierto tiempo los artículos de mis webs preferidas, en GNU Social. La idea la saqué de un artículo en la web de El Binario:
https://elbinario.net/2015/02/11/gnusrss-publicando-feeds-en-gnu-social/
Saludos!!
sep, conocía el artículo…
Saludos!!