• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pedrotuga

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

1 mensagem neste tópico

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora