Проблема синхронизации заметок Tomboy

Переформатированный компьютер, и когда я пытаюсь синхронизировать мою свежую установку с моими резервными заметками сорванца, я получаю ошибку синхронизации. Когда я нажимаю на детали, панель пуста. У меня есть сотни заметок, некоторые из которых являются критическими, поэтому мне действительно нужно это исправить.

Моя резервная структура каталогов может быть повреждена в результате нескольких неудачных синхронизаций. Это выглядит примерно так:

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

Номера продолжаются до 22. В каждом каталоге есть как минимум 1 файл.note и файл manifest.xml.

Кроме того, если эта структура испорчена и не подлежит восстановлению, есть ли способ восстановить данные вручную? Или, возможно, перенести его в какую-нибудь другую программу для создания заметок, а затем перенести обратно?

1 ответ

Все эти папки содержат ваши заметки, но одна конкретная заметка может иметь разные версии. Поэтому обычно нулевой номер папки содержит наибольшее количество заметок (начальных версий), а папки с более высокими номерами содержат более свежие версии (больший номер папки соответствует более новой версии).

Я полагаю, что для правильного автоматического восстановления кому-то также нужна копия ~/.config/tomboy/ каталог, или, по крайней мере, manifest.xml с этого места (см. также структуру каталогов здесь).

При восстановлении, если вы решите, что вам нужна не вся история, а только самые последние версии каждой заметки, вы можете извлечь их с помощью следующего кода 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)

Надеюсь, это кому-нибудь поможет.

Модель PS Sync частично освещена здесь.

Другие вопросы по тегам