Commit e4418474 authored by Sviatoslav Sydorenko's avatar Sviatoslav Sydorenko Committed by Miss Islington (bot)

bpo-30088: Document that existing dir structure isn't verified by mailbox.Maildir (GH-1163)



Hi,

I've faced an issue w/ `mailbox.Maildir()`. The case is following:
1. I create a folder with `tempfile.TemporaryDirectory()`, so it's empty
2. I pass that folder path as an argument when instantiating `mailbox.Maildir()`
3. Then I receive an exception happening because "there's no such file or directory" (namely `cur`, `tmp` or `new`) during interaction with Maildir

**Expected result:** subdirs are created during `Maildir()` instance creation.

**Actual result:** subdirs are assumed as existing which leads to exceptions during use.

**Workaround:** remove the actual dir before passing the path to `Maildir()`. It will be created automatically with all subdirs needed.

**Fix:** This PR. Basically it adds creation of subdirs regardless of whether the base dir existed before.


https://bugs.python.org/issue30088
parent ed184c06
...@@ -308,6 +308,9 @@ Supported mailbox formats are Maildir, mbox, MH, Babyl, and MMDF. ...@@ -308,6 +308,9 @@ Supported mailbox formats are Maildir, mbox, MH, Babyl, and MMDF.
representation. If *create* is ``True``, the mailbox is created if it does not representation. If *create* is ``True``, the mailbox is created if it does not
exist. exist.
If *create* is ``True`` and the *dirname* path exists, it will be treated as
an existing maildir without attempting to verify its directory layout.
It is for historical reasons that *dirname* is named as such rather than *path*. It is for historical reasons that *dirname* is named as such rather than *path*.
Maildir is a directory-based mailbox format invented for the qmail mail Maildir is a directory-based mailbox format invented for the qmail mail
......
...@@ -1613,6 +1613,7 @@ Kalle Svensson ...@@ -1613,6 +1613,7 @@ Kalle Svensson
Andrew Svetlov Andrew Svetlov
Paul Swartz Paul Swartz
Al Sweigart Al Sweigart
Sviatoslav Sydorenko
Thenault Sylvain Thenault Sylvain
Péter Szabó Péter Szabó
John Szakmeister John Szakmeister
......
Documented that :class:`mailbox.Maildir` constructor doesn't attempt to verify the maildir folder layout correctness. Patch by Sviatoslav Sydorenko.
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment