Hace ya un tiempo que escribí sobre mi Raspberry y el uso que le estaba dando. Desde entonces, el concepto no ha cambiado. Es un gadget muy útil para mi organización de posts de arte (junto con otras funciones secundarias, que tal vez vayan a otro post). Por ello, he estado actualizándolo de vez en cuando, probando nuevas funciones, y manteniéndolo. Sobre esto quería escribir ahora.
No hay nada más frustrante que accionar el flujo de publicación y encontrarse con algo que ya no funciona. Y me ha pasado hace poco con la aplicación para Dropbox.
En Dropbox tengo alojado el repositorio de arte y descripciones. Para trabajar con él, utilizaba Dropbox Uploader, escrita íntegramente en... ¡Bash! Tardaba una barbaridad, pues iba leyendo los archivos uno por uno. Además sólo era unidireccional en esencia (descarga o subida). La sincronización bidireccional se podía conseguir con un truco de crear listas de archivos (locales y en la nube), compararlas y actuar en consecuencia: si falta un dibujo aquí, bórramelo allí. En su día me divertí bastante programándolo. Yo sabía bien que este programita en comparación con algo profesional, vendría a ser lo que un Meccano a la ingeniería automotriz. Pero acababa haciendo lo que le pedía. Aún no estaba ChatGPT en boga, por lo que tenía que tirar de páginas como Stack Overflow. Con todo, reconozco que era inmensamente más satisfactorio que meterle un texto a algo y que te lo haga. El propio acto de pensar en sí ya era divertido. Y así quedaba ese fragmento:
Pues bien, un buen día estaba decidido a publicar nuevo dibujo, y al ejecutar el script, me daba una salida sin errores pero sin contenido. Y es que, al parecer, Dropbox cambió el formato en su respuesta, por lo cual la aplicación ya no sacaba nada. Además, era improbable que este error fuese arreglado, ya que el proyecto llevaba sin actualizarse desde... ¡2021! Por suerte, encontré rclone y todo lo mostrado arriba quedó reemplazado por dos comandos que, simplemente, montan la raíz de archivos:
Siempre es agridulce tener que tirar algo que tomó horas de trabajo en su día, por una solución más experta. Pero esto enseña una valiosa lección que me aplicaré más a rajatabla: no inventar la rueda, y mucho menos, una sin mantener desde hace cinco años. Al final, todo gira en torno a resolver un problema, buscar una solución. En el recuerdo quedan todos aquellos programas que, rotos y huérfanos a día de hoy, nos hacen añorar no sólo los años en que Twitter se dejaba querer a través de una API pública y libre. Sino también la emoción de los primeros pasos, y la felicidad de los primeros éxitos.
https://github.com/andreafabrizi/Dropbox-Uploader/issues/606: Ups. Otra lección aprendida: mirar las issues de un proyecto, porque ahí fue resuelto el error. Aún así, creo que seguiré con rclone...