summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSviatoslav Sydorenko <wk@sydorenko.org.ua>2019-07-13 14:47:15 (GMT)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2019-07-13 14:47:14 (GMT)
commite44184749c2fd0921867ea5cd20b8e226c2146c2 (patch)
tree391b6d1083db30dc654a1cc3f2581cdde519e8e0
parented184c06e2e610e12050c5d5c9b0c1c2ecabb930 (diff)
downloadcpython-e44184749c2fd0921867ea5cd20b8e226c2146c2.zip
cpython-e44184749c2fd0921867ea5cd20b8e226c2146c2.tar.gz
cpython-e44184749c2fd0921867ea5cd20b8e226c2146c2.tar.bz2
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
-rw-r--r--Doc/library/mailbox.rst3
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS.d/next/Documentation/2019-07-13-12-43-01.bpo-30088.CIcBjy.rst1
3 files changed, 5 insertions, 0 deletions
diff --git a/Doc/library/mailbox.rst b/Doc/library/mailbox.rst
index d901ad2..f82a3b2 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 31f8dda..b2a6011 100644
--- 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
index 0000000..a39fe3f
--- /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