Jump to content

[How to] Guardar as notas do tomboy todas num ficheiro HTML


pedrotuga
 Share

Recommended Posts

O tomboy é uma aplicação para tirar notas pessoais que recentemente tem sido distribuida com o Gnome.

Eu uso o tomboy de forma quase obsessiva, tomo nota de tudo e mais alguma coisa. Tirar notas de tudo é fixe, mas acabamos por ficar com uma carrada de notas que nunca usamos mas que podem eventualmente passados uns meses ou anos ser precisas. A solução para este problema é uma invenção criada há milhares de anos pela humanidade: um arquivo!

Ora o tomboy não vem com nenhuma funcionalidade que permita isso, então decidi eu fazer uma. Como eu queria uma solução rápida em vez de um projecto que necessitasse manutenção, o melhor caminho foi mesmo usar o interface dbus do tomboy. Dbus é um protocolo de comunicação entre aplicações de um desktop. Fiquei maravilhado ao descobrir que há formas bem desenvolvidas de deixar uma aplicação acessível para alem do seu GUI. Dbus rocks!

A solução que encontrei foi: escrever um script que cria uma nota que contem um link para cada uma das outras notas. Assim, quando se exporta a nota-indice para HTML, como ela tem um link para cada outra nota existente, o conteudo destas tambem vai ser exportado para o mesmo HTML, é assm que o export do tomboy funciona.

O script maravilha segue:

#!/usr/bin/env python
#
#   This script creates a tomboy note containing link to each other note
#   so one can easily export all the notes to an HTML file

import dbus

note_title = "Note Index"

# Get the D-Bus session bus
bus = dbus.SessionBus()

# Access the Tomboy D-Bus object
obj = bus.get_object("org.gnome.Tomboy","/org/gnome/Tomboy/RemoteControl")

# Access the Tomboy remote control interface
tomboy = dbus.Interface(obj, "org.gnome.Tomboy.RemoteControl")

notes_links = ""

for note in tomboy.ListAllNotes():
notes_links += tomboy.GetNoteTitle(note) + " \n"


uri = tomboy.FindNote(note_title)
if uri == "":
uri = tomboy.CreateNamedNote(note_title)

tomboy.SetNoteContents(uri, note_title + "\n\n" + notes_links)

Isto não é tão prático quanto eu desejava. Mas o export não está acessível a partir do interface dbus do tomboy, pelo que a única forma de conseguir um arquivo imediato só com um click é criar um addin, mas para isso tinha que me instalar o mono e aprender a usar a tecnologia .net. Talvez no futuro o faça, agora não estou muito praí virado.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.