Bug 32425

Summary: [FR] readpst -r could save all items of any supported type into the type's file ("mbox", "calendar", etc) without fixing the type for a folder and skipping them
Product: Sisyphus Reporter: Ivan Zakharyaschev <imz>
Component: libpst-toolsAssignee: Ivan Zakharyaschev <imz>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P3 CC: azol, mike, nbr
Version: unstable   
Hardware: all   
OS: Linux   
URL: https://bugzilla.redhat.com/show_bug.cgi?id=1369499#c3

Description Ivan Zakharyaschev 2016-08-24 13:26:51 MSK
libpst-tools-0.6.67-alt1

I see a way to enhance readpst -r more globally (with a more serious re-write; not urgently needed):

Some folders contain items of different several types.

I've run readpst -e, and see that in this specific case the first item parsed is probably not an email, whereas the folder type is probably undefined, therefore it is created as mbox, but then the type gets overridden, and calendar items are saved there:

$ ls readpst/root.extensions/mailtst/Recoverable\ Items/Calendar\ Logging/ | head
1.ics
10.ics
100.eml
101.ics
102.eml
103.ics
104.eml
105.ics
106.ics
107.eml
$ 

This is not nice: naming something "mbox", but not saving well-formed emails there.

I believe this specific issue requires a fix.

Globally, I'm thinking about a solution where readpst -r would create several files in the same folder (mbox, calendar) for such cases. This would allow to save everything and not mess things up. (Other modes except for readpst -r are not very attractive for me, because they do no create mbox--the only output format understood completely by dovecot, and hence, doveadm sync (for reading and importing whole user's accounts). MH is not supported by dovecot.)

Here one can see all the folders with different types of items:

$ find readpst/root.extensions/ -type d -print -exec sh -c 'ls "{}" | fgrep . | cut -d. --fields=2 | sort -u' ';'
readpst/root.extensions/
readpst/root.extensions/mailtst
readpst/root.extensions/mailtst/Заметки
readpst/root.extensions/mailtst/МСЭД
eml
readpst/root.extensions/mailtst/Входящие
eml
readpst/root.extensions/mailtst/Входящие/103
eml
readpst/root.extensions/mailtst/Входящие/Миграция ADEX
eml
readpst/root.extensions/mailtst/Входящие/Оперативка
eml
readpst/root.extensions/mailtst/Входящие/СПО - ФСТЭК
eml
readpst/root.extensions/mailtst/Входящие/СУТП
eml
readpst/root.extensions/mailtst/Входящие/Схемы ЛВС
eml
readpst/root.extensions/mailtst/Нежелательная почта
readpst/root.extensions/mailtst/ТТ на согласование
eml
readpst/root.extensions/mailtst/Junk
eml
readpst/root.extensions/mailtst/Задачи
readpst/root.extensions/mailtst/Прочитать и дать ответ!
eml
readpst/root.extensions/mailtst/Прочитать и дать ответ!/Что-то важное
eml
readpst/root.extensions/mailtst/Отправленные
eml
readpst/root.extensions/mailtst/aрхив
eml
readpst/root.extensions/mailtst/Контакты
vcf
readpst/root.extensions/mailtst/Контакты/Recipient Cache
vcf
readpst/root.extensions/mailtst/Черновики
readpst/root.extensions/mailtst/Календарь
ics
readpst/root.extensions/mailtst/Sent
eml
readpst/root.extensions/mailtst/Удаленные
eml
ics
readpst/root.extensions/mailtst/ЕКП
eml
readpst/root.extensions/mailtst/Recoverable Items
readpst/root.extensions/mailtst/Recoverable Items/Deletions
eml
ics
readpst/root.extensions/mailtst/Recoverable Items/Calendar Logging
eml
ics
readpst/root.extensions/mailtst/Предлагаемые контакты
vcf
readpst/root.extensions/mailtst/Ошибки синхронизации
readpst/root.extensions/mailtst/Ошибки синхронизации/Конфликты
eml
$ 

So, the problematic folders are not normal ones:

* Удаленные (means "Deleted" in Russian)
* Recoverable Items/Deletions
* Recoverable Items/Calendar Logging
Comment 1 Ivan Zakharyaschev 2016-08-25 16:28:38 MSK
Cf. https://bugzilla.altlinux.org/show_bug.cgi?id=32422

This would be a bigger enhancement compared to just a simple fix of the bad output (which has been done to fix that bug).
Comment 2 Ivan Zakharyaschev 2016-08-25 16:34:47 MSK
Carl from the upstream has told me that he has just implemented this feature.

(But I don't have a testcase I could send him. Probably, I could just test his code with our private example.)
Comment 3 Repository Robot 2016-08-26 14:01:52 MSK
libpst-0.6.67-alt4 -> sisyphus:

* Fri Aug 26 2016 Ivan Zakharyaschev <imz@altlinux> 0.6.67-alt4
- all items are saved in folders with mixed items
  (thx Carl Byington, RH#1369499) (ALT#32425).
- python-module-libpst packaged.
- libpst-docs: include the .pdf with old reverse-engeneered documentation.