Thunderbird - количество сообщений недорекламы, из базы .sqlite

Я хочу сделать небольшой плагин для awesome WM, который будет показывать количество непрочитанных сообщения, ожидающие обработки в Thunderbird. Я хочу получить количество сообщений, обращающихся напрямую к базе Thunderbird sqlite. Вопрос: какую базу, таблицу и поля мне запрашивать?

Под ~/.thunderbird/profile/ есть как минимум 15 баз, включая ./global-messages-db.sqlite. В этой базе пробовал messageAttributes таблицу, но без особого успеха. Я не смог найти документацию по разработке, описывающую атрибуты...

Любая помощь здесь?


person Jakub M.    schedule 14.09.2012    source источник


Ответы (1)


Вы найдете то, что вам нужно в файле global-messages-db.sqlite. Если вы посмотрите на таблицу messages, вы найдете столбец jsonAttributes. Там вы найдете массив JSON из идентификаторов атрибутов и их значений. Ключ 58 — это статус чтения сообщения. Поэтому, если вы найдете что-то вроде {"58": false} в этом столбце, сообщение все еще не прочитано. Но эта база данных не будет обновляться сразу же после получения нового сообщения. (Он может даже обновляться только при закрытии Thunderbird — я не уверен в этом.)

Итак, как вы видите, найти непрочитанные сообщения таким образом будет немного сложно. Я бы порекомендовал вам лучше создать плагин, который напрямую проверяет сервер через IMAP или POP3.

Для серверов IMAP уже существует удивительный плагин внутри Delightful Extensions. Я не знаю ни одного плагина POP3, и, похоже, библиотеки POP3 для lua также редко можно найти.

person Tim Roes    schedule 18.09.2012