]> granicus.if.org Git - python/commitdiff
bpo-30088: Document that existing dir structure isn't verified by mailbox.Maildir...
authorSviatoslav Sydorenko <wk@sydorenko.org.ua>
Sat, 13 Jul 2019 14:47:15 +0000 (16:47 +0200)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 13 Jul 2019 14:47:14 +0000 (07:47 -0700)
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

Doc/library/mailbox.rst
Misc/ACKS
Misc/NEWS.d/next/Documentation/2019-07-13-12-43-01.bpo-30088.CIcBjy.rst [new file with mode: 0644]

index d901ad2cc1c48e1948bb40f07bb188ae9ed430dd..f82a3b200deb7c4d01820376a7d51a72e2c4dc7b 100644 (file)
@@ -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
index 31f8dda888c8ff9ce1c21dc6b07c5482261ec525..b2a6011019c2d304a1d1ac859b2ed1dc52b3eadc 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1613,6 +1613,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 (file)
index 0000000..a39fe3f
--- /dev/null
@@ -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