From b815669c833c543b0f6696c3121a179f6b2383a6 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Sat, 13 Jul 2019 07:59:48 -0700 Subject: [PATCH] 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 (cherry picked from commit e44184749c2fd0921867ea5cd20b8e226c2146c2) Co-authored-by: Sviatoslav Sydorenko --- Doc/library/mailbox.rst | 3 +++ Misc/ACKS | 1 + .../Documentation/2019-07-13-12-43-01.bpo-30088.CIcBjy.rst | 1 + 3 files changed, 5 insertions(+) create mode 100644 Misc/NEWS.d/next/Documentation/2019-07-13-12-43-01.bpo-30088.CIcBjy.rst diff --git a/Doc/library/mailbox.rst b/Doc/library/mailbox.rst index d901ad2cc1..f82a3b200d 100644 --- a/Doc/library/mailbox.rst +++ b/Doc/library/mailbox.rst @@ -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 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*. Maildir is a directory-based mailbox format invented for the qmail mail diff --git a/Misc/ACKS b/Misc/ACKS index 53285403e6..f7032a1a96 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -1608,6 +1608,7 @@ Kalle Svensson Andrew Svetlov Paul Swartz Al Sweigart +Sviatoslav Sydorenko Thenault Sylvain Péter Szabó John Szakmeister diff --git a/Misc/NEWS.d/next/Documentation/2019-07-13-12-43-01.bpo-30088.CIcBjy.rst b/Misc/NEWS.d/next/Documentation/2019-07-13-12-43-01.bpo-30088.CIcBjy.rst new file mode 100644 index 0000000000..a39fe3fbbc --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2019-07-13-12-43-01.bpo-30088.CIcBjy.rst @@ -0,0 +1 @@ +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 -- 2.40.0