Problema de Sincronização do Notes do Tomboy

1

Computador reformatado e quando tento sincronizar minha nova instalação com minhas anotações de tomboy de backup, recebo um erro de sincronização. Quando clico em detalhes, o painel está vazio. Eu tenho centenas de notas, algumas das quais são críticas, então eu realmente preciso disso corrigido.

Minha estrutura de diretórios de backup pode estar corrompida como resultado de várias sincronizações com falha. É algo assim:

tomboy notes / 0 
               |-0
               | |-0
               |-1
               |-2
               |-3
               |-4
               |-etc.

Os números continuam em 22. Em cada diretório há pelo menos um arquivo .note e um arquivo manifest.xml.

Além disso, se essa estrutura for confusa além do reparo, há alguma maneira de recuperar os dados manualmente? Ou talvez portá-lo em algum outro programa de anotações e depois portá-lo de volta?

    
por torvum 22.09.2014 / 15:44

1 resposta

1

Todas essas pastas contêm suas anotações, mas uma determinada nota pode ter versões diferentes. Normalmente, o número da pasta zero contém o maior número de notas (versões iniciais) e as pastas numeradas mais altas contêm versões mais recentes (o número da pasta maior corresponde à versão mais recente).

Suponho que, para a restauração automática correta, alguém também precisa de uma cópia do diretório ~/.config/tomboy/ , ou pelo menos de um manifest.xml desse local (veja também a estrutura de diretório aqui ).

Na restauração, se você decidir que não precisa do histórico inteiro, mas apenas das versões mais recentes de cada nota, poderá extraí-las com o seguinte código de python:

import os
from collections import defaultdict
from shutil import copy2 as copy

input_dir = 'your/backup/dir/'
output_dir = '~/.local/share/tomboy/'
notes = defaultdict(list)
for root, dirs, files in os.walk(input_dir):
    for f in files:
        if f.endswith('.note'):
            notes[f] += [root]
print("Total number of notes: %d" % len(notes))
for k,v in notes.items():
    newest_version = os.path.join(sorted(v, reverse=True)[0], k)
    copy(os.path.join(input_dir, newest_version), output_dir)

Espero que isso ajude alguém.

P.S. O modelo de sincronização é parcialmente coberto aqui .

    
por Yury Kirienko 24.01.2018 / 17:09