Как запросить метаданные gvfs для определенного атрибута?
Приятной особенностью evince является то, что когда вы закрываете программу и затем снова открываете тот же самый файл pdf, она автоматически переходит на страницу, которую вы читали. У меня проблема в том, что я часто читаю электронные книги на нескольких компьютерах и должен найти, где был последний компьютер, на котором я читал PDF. Я думаю, что синхронизация этих закладок в UbuntuOne была бы убийственной функцией для таких людей, как я, которые читают PDF-файлы на разных компьютерах.
Проведя небольшое расследование, я обнаружил, где evince хранит эти данные. Он находится в метаданных gvfs и доступен для конкретного документа, набрав
gvfs-ls -a "metadata::evince::page" myEbook.pdf
Вместо того, чтобы запрашивать определенный файл, я бы хотел запросить весь файл метаданных, расположенный в ~/.local/share/gvfs-metadata/home
для домашнего каталога, для любого файла, в котором этот конкретный атрибут имеет какое-либо значение. Самая большая проблема заключается в том, что метаданные gvfs хранятся в двоичных файлах, и мы все знаем, что извлечь что-то из двоичного файла непросто.
Итак, знаете ли вы какой-либо способ запроса метаданных gvfs для какого-либо атрибута?
1 ответ
Что касается правильного выполнения, это, вероятно, потребовало бы замены внутреннего кода, обслуживающего метаданные, на внутренний сервер couchdb. Вы также можете получить доступ ко всем метаданным из кода, если вы хотите запрограммировать что-то для решения этой убойной функции.