Cómo exportar todas las notas de Gnote a texto plano (Gnote to txt exporter)

Hola a todos y todas, hoy vuelvo a escribir y me meto con una necesidad puntual que tengo desde hace un tiempo. No se si lo cuento en algún lado antes, pero soy, desde hace bastante, un ávido usuario de Gnote. Exportar las notas masivamente a texto es una función que no existía, hasta ahora. Me puse, y lo hice. Ahí les cuento.

Sobre Gnote

Gnote es una aplicación para tomar notas. Simple. Rápida. Me encanta. Antes usaba Everpad (Evernote) pero la interface es muy complicada y las búsquedas también, por lo que acceder a todas las notas en un parpadeo suena más fácil de lo que en realidad es. Un día un upgrade de Everpad me rompió todas las notas de Evernote, introduciendo espacios y líneas por todos lados… un desastre. Lo peor es que esas notas las usaba para trabajar.

Gnote trabaja en formato html, y soporta formateo básico del texto. No permite, sin embargo, ver imágenes dentro de la nota ni otras cosas raras. A mi me conviene el negocio. Pasé de tener unas 100 notas en Evernote a más de 1500 en Gnote. Es una aplicación que uso todo el tiempo. Obviamente, la mantengo sincronizada con Dropbox (en la fotito está el comando que uso jeje).

image
(mi post install, como verán, primero gnote! jajaj)

El problema

Supongamos que queremos leer las notas desde otra computadora que no tiene gnote instalado, o desde la web (por ejemplo desde el sitio de dropbox). Gnote tiene una función para exportar a HTML dentro de su menú de opciones, con ella vamos a poder hacer el accesible el contenido de cualquier nota. El “pequeño” problema es que esta función “export to html” aparece dentro de cada nota: no existe una forma para exportar todo, sino que hay que ir nota por nota y hacer click en menu, click en exportar, click en el destino. Si tenés mil notas como yo lo vas a tener que hacer 1000 veces. Ni en pedo. Quizás en otra vida.

Hice 1800 búsquedas pensando que alguien tendría que haber solucionado esto. Nada. Incluso hice una pregunta en AskUbuntu (link) y varias en Google+ que quedaron huérfanas y olvidadas en el limbo. No se si es que a nadie le interesa, pero bah, no me lo creo. Gnote y Tomboy son viejos tanques que mucha gente encuentra útil.

Me gasté mucho menos tiempo y salud e implementé la función de exportar masivamente en bash, que es lo que más o menos manejo de oído. Así que mi solución es simple, desde una terminal corremos el script y listo: todas las notas que tengamos serán exportadas a texto plano y el título de la nota será el nombre del archivo. Nada más, nada menos. :)

Cómo funciona

Como comento arriba es un script en bash. Muy simple, aunque increíblemente no estaba implementado. Miren que busqué como un cerdo, pero no. En suma, qué hice, abajo.

Qué hace? bueno, extrae el contenido de cada nota y lo transforma en texto plano. Cada archivo .txt resultante será una entrada de Gnote. Todos los txt son guardados dentro de la carpeta en donde están alojadas las notas en formato “.note” de gnote.

Así se ve una nota en formato .note (que es un XML):

Captura de pantalla de 2014-04-24 19:40:19

Cómo lo hace la exportación a texto plano? bueno “parsea” las notas y extrae el segmento de texto plano correspondiente al cuerpo “note-content”. Para eso hago uso del comando xml_grep, que es quien hace toda la magia extrayendo el contenido y transformando links en texto plano. :) El resto es un loop básico en bash que recorre las notas. Un segundo paso del script es el tema de los títulos. Las notas .note tienen títulos super chotos tipo “1fadb1f2-5305-4395-908d-9b8d59b3a6c0.note”… así que tuve que hacer otro loop para reemplazar los nombres de cada txt resultante al título de la nota en sí (también disponible dentro del XML). Para esto último usé el comando head que parsea líneas y el comando rename y cp para acomodar los archivos. :)

Todo esto para tener una carpeta con todas las notas transformadas a txt. Jeje.

Basta de nerdeadas, les digo cómo instalarlo así lo prueban.

Cómo instalar Gnote to txt exporter

Como siempre abran una terminal y peguen:

Dependencias:

Para el caso de ubuntu, las dependencias son xml-twig-tools y unzip, así que avanti. Si tienen otra distro, simplemente cambien el apt-get por su gestor de paquetes.

sudo apt-get install xml-twig-tools unzip -y

Ahora si, a instalar:

Copien y peguen este choclito en su terminal y listo. :)

cd && mkdir -p .gnote-massive-export-to-txt && cd .gnote-massive-export-to-txt && wget https://github.com/rhoconlinux/gnote-massive-export-to-txt/archive/master.zip && unzip master.zip &&  cd gnote-massive-export-to-txt-master/ &&  mv gnote-export-to-txt.sh ~/.gnote-massive-export-to-txt/ && cd .. && rm -R gnote-massive-export-to-txt-master && rm master.zip && chmod +x gnote-export-to-txt.sh && cd

Paso opcional: el script puede instalarse a nivel de sistema, en lugar de estar dentro de tu carpeta de usuario. La razón para hacer este paso adicional es comodidad para llamar el programa, porque en términos de funcioanlidad, es lo mismo. Para instalar Gnote to txt exporter a nivel de sistema peguen esto en una terminal (requiere que pongan su password de root):

sudo cp ~/.gnote-massive-export-to-txt/gnote-export-to-txt.sh /usr/bin/gnote-export-to-txt

Con este paso vamos a poder llamar al programa con simplemente escribir gnote-export-to-txt, en la terminal. Es particularme útil si queremos automatizar el backup de las notas a texto de forma regular (usando cron u otra aplicación de automatización de tareas).

Como usar Gnote to txt exporter

El uso del programa es realmente simple: abran una terminal y ejecuten esta línea (copiar-pegar):

sh ~/.gnote-massive-export-to-txt/gnote-export-to-txt.sh

Si instalaron el programa a nivel de sistema, entonces en lugar de lo de arriba basta con escribir este comando:

gnote-export-to-txt

Apretan enter y el programa solito hace todo sin preguntar. Lee las notas y las exporta a texto. En la terminal, el proceso que inicia se va a ver así:

image

El tiempo de procesamiento dependerá, obviamente, de cuantas notas tengan. Como podrán comprobarlo ustedes mismos, le toma más o menos 1 segundo por nota.

¿Y dónde están mis archivos .txt?

Todos los archivos exportados están disponibles en la carpeta en donde se guardan las notas de Gnote. La ubicación es ~/.local/share/gnote. En nautilus, apreten ctrl+h en su home para ver los archivos y carpetas ocultos. Luego naveguen .local > share > gnote. Una vez ahí, van a ver la carpeta “gnote-notes-in-txt” que contiene todas sus notas en formato txt.

Un par de screenshots para el pueblo:

Encontrando las notas usando Nautilus.

image

Así es cómo se ve la carpeta que contiene todas las notas exportadas. En una comparación con Gnote lado a lado se ve que los títulos son los mismos. Menos mal. Jaj.

image

Por último, así es como se ve el “output”. El nuevo archivo de texto en comparación con la nota de Gnote. Como pueden ver el texto plano es fiel al contenido original. :)

image

Espero les sirva y lo encuentren útil.

Ah! el proyecto está en Github. Le hice un lindo tutorial similar a este pero en inglés. Sugerencias y comentarios, como siempre, más que bienvenidos.

https://github.com/rhoconlinux/gnote-massive-export-to-txt

Ah! (2). Todo lo que vieron VALE para Tomboy también. Lo único que tienen que hacer es cambiar la dirección de trabajo del script. En lugar de “~/.local/share/gnote” tienen que poner la de Tomboy, que presumo (NO SE) será “~/.local/share/tomboy” o algo por el estilo.

Ahora si.

Salú!


ps: No es que no tenía nada que postear, sino que estuve “muleando” como un cretino jaja. Esto es un oasis, a no confundirse, mi ritmo de publicación no creo que cambie mucho en lo que queda del AÑO. Si todo va bien, luego será otra historia. Así que con suerte vendrán un par de rush de posts en días libres o algún que otro post cada muerte de obispo :P Sorry!

Cómo exportar todas las notas de Gnote a texto plano (Gnote to txt exporter)

11 thoughts on “Cómo exportar todas las notas de Gnote a texto plano (Gnote to txt exporter)

  1. Woww eres un maldito crack (en el buen sentido) eso de no encontrar nada en internet y tener que solucionartelas solo es de admirar, me paso algo similar con un plug in de Visual Studio para MySql y tuve que meterle mano al código y pum funciono (no se que hice pero funciono) pero eso es otra historia, a mi también me gusta Gnote pero no le doy un uso tan intensivo como tu, soy de notas pocas y cortas notas que facilmente guardo en Keep.
    Bueno a lo que voy, tu personalización siempre me ha parecido impresionante, recién regrese a Ubuntu y Gnome en particular a Ubuntu Gnome 14.04 y la verdad quisiera saber si podrías compartir ese theme y el pack de iconos que usas, sería lo que me falta para terminar de enamorarme de gnome que tenia tan abandonado.
    Saludos y hasta pronto.

    1. bueno, muchas gracias man.
      El tema gtk de este post es Numix! :) ~Particularmente numix-daily, buscalo en google que es re facil de instalar desde el ppa de Numix. Los íconos estoy trabajando mucho en ellos, cada vez que puedo. Recién ahora pude lograr una “identidad” del set. La verdad es que es un desastre, no del todo utilizable, pero bueno, prometo hacer un repo en github y mantener el progreso al día ahí. Si lo querés usar, lo vas a poder descargar desde ahí.

      Muchas gracias de nuevo por la buena onda y un saludo grande!

      1. Muchas gracias, hay muy buenos trabajos ahí con los que estas trabajando y colaborando, suerte con ellos y ahora en tu nuevo post vi la barra de tareas trasparente y sin el icono en el indicador de aplicación, si no es mucho pedir pues ahí por fa no ;), saludos otra vez y gracias por todo eso de las extensiones me ha ayudado como no te imaginas.

      2. Hola Acroo!, bueno muchas gracias, me alegro de que la cosa sirva. :)

        Respecto al tema, prometo publicarlo. Quizás mañana que voy a estar al pedo hago un post. Pero por ahora no lo publiqué porque es “casi” el mod del panel nomás. Pero de cualquier forma lo voy a poner ^_^
        Saludos! :)

    1. jajaja XD
      Si, algunos experimentos con los que estuve jugando. Nada para entusiasmarse, la verdad es que no resultó tan cool como esperaba, por eso no lo publiqué. Pero en mis notitas guardo todo lo que hago jajaj :)

  2. GeoL says:

    Muy util el programa que has elaborado. La verdad es que hace mucha falta. Yo estoy estudiando, y hago resumenes en Gnote, que puedo ver con solo un vistazo. Pero me gustaría poder guardar una copia y verlo en otros ordenadores.
    Ya si tienes tiempo lo ideal sería exportar todo en html y que guardara los enlaces jajajajaja
    Como dices, no hay ninguna solución en la web. Muchas gracias por el post. Estos días lo instalaré.

    1. hola GeoL, gracias por pasar!. Lo que yo hice es directamente sincronizar las notas en txt plano en el dropbox. De esta forma puedo acceder a ellas todo el tiempo desde cualquier navegador ;)
      Salú!

Y tu? qué estás mirando? :)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s