How to test for maildir 'folder' in Python?
Barry
barry at barrys-emacs.org
Sun Jan 23 16:33:56 EST 2022
> On 23 Jan 2022, at 17:08, Chris Green <cl at isbd.net> wrote:
>
> Barry Scott <barry at barrys-emacs.org> wrote:
>>
>>
>>>> On 22 Jan 2022, at 21:26, Chris Green <cl at isbd.net> wrote:
>>>
>>> I have a script that walks a quite deep tree of mail messages to find
>>> and archive old messages. I'm trying to convert it from mbox to
>>> maildir (as I now store my mail in maildir format).
>>>
>>> So I need to test whether a point I have reached in the hierarchy is a
>>> maildir mailbox or not. Using mbox format it's easy because 'folders'
>>> are directories and mailboxes are files. However with maildir the
>>> 'folders' have directories within them so the simple tree walking goes
>>> down a level too far and finds 'folders' which aren't mailboxes called
>>> 'cur', 'new' and 'tmp'.
>>>
>>> Is there any 'ready made' way in python to tell whether a directory is
>>> a maildir mailbox? If not I suppose I'll simply have to check if
>>> there are 'cur', 'new' and 'tmp' directories within the directory
>>> which may or may not be a maildir.
>>
>> You do not need to walk the tree.
>>
>> The structure is
>> Maildir/cur, new, tmp - The INBOX
>> Maildir/<encoded-mail-folder>/cur, new, tmp
>>
>> The encoding prefixed with a "." and uses a "." between folder name parts.
>>
>> An example from my Maildir is ".Python.Users/" for a folder that client
>> shows as Python/Users
>>
>> You can see this by doing:
>>
>> ls -a ~/Maildir
>>
> You're talking about one specific (and IMHO not very good) way of
> creating a maildir hierarchy. Here's what I see on my system:
Oh right! That is imposed by dovecot that I use for the imap service.
Barry
> chris at esprimo$ cd mail
> /home/chris/mail
> chris at esprimo$ ls -a
> . .. Gm In Ju Li Tm folder
> chris at esprimo$ ls -a folder
> . apexLodge entertainment greville houseHome maxMum reshapers tractor
> .. archive family hardware internet money riding travel
> Scans boating france health isbd pcc software ukraa
> Shopping buySellAdmin friends holidays jrml personal telecoms vehicles
> chris at esprimo$ ls -a folder/Shopping
> . cabin cycling garden maxine pets stationery
> .. car diy giftsEtc maxmum photography telecoms
> apexLodge clothesEtc electrical groupon medicine riding toolstation
> boat computer electronics houseHome motorcycle screwfix
> books cpc food jrml music sportsEtc
>
> No dot prefixes and my maildir hierarchy is a *real* directory hierarchy so
> all the other file management utilities on my system can be used easily.
>
>
>
> --
> Chris Green
> ·
> --
> https://mail.python.org/mailman/listinfo/python-list
More information about the Python-list
mailing list