summaryrefslogtreecommitdiff
path: root/Lib/mailbox.py
diff options
context:
space:
mode:
authorAndrew M. Kuchling <amk@amk.ca>2006-11-09 13:27:07 +0000
committerAndrew M. Kuchling <amk@amk.ca>2006-11-09 13:27:07 +0000
commit3cbe07b5f2d3b436eace354f14fa5d6889d0365d (patch)
treed31f9cd2cb613b944d9d2511fe28362413205fca /Lib/mailbox.py
parent9780dbefa2626bdbbd62530aed845d6eaa66c08b (diff)
downloadcpython-3cbe07b5f2d3b436eace354f14fa5d6889d0365d.tar.gz
[Bug #1569790] mailbox.Maildir.get_folder() loses factory information
Both the Maildir and MH classes had this bug; the patch fixes both classes and adds a test. Will backport to 25-maint.
Diffstat (limited to 'Lib/mailbox.py')
-rwxr-xr-xLib/mailbox.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index eab03afb7c..e66dddec55 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -367,12 +367,14 @@ class Maildir(Mailbox):
def get_folder(self, folder):
"""Return a Maildir instance for the named folder."""
- return Maildir(os.path.join(self._path, '.' + folder), create=False)
+ return Maildir(os.path.join(self._path, '.' + folder),
+ factory=self._factory,
+ create=False)
def add_folder(self, folder):
"""Create a folder and return a Maildir instance representing it."""
path = os.path.join(self._path, '.' + folder)
- result = Maildir(path)
+ result = Maildir(path, factory=self._factory)
maildirfolder_path = os.path.join(path, 'maildirfolder')
if not os.path.exists(maildirfolder_path):
os.close(os.open(maildirfolder_path, os.O_CREAT | os.O_WRONLY))
@@ -944,11 +946,13 @@ class MH(Mailbox):
def get_folder(self, folder):
"""Return an MH instance for the named folder."""
- return MH(os.path.join(self._path, folder), create=False)
+ return MH(os.path.join(self._path, folder),
+ factory=self._factory, create=False)
def add_folder(self, folder):
"""Create a folder and return an MH instance representing it."""
- return MH(os.path.join(self._path, folder))
+ return MH(os.path.join(self._path, folder),
+ factory=self._factory)
def remove_folder(self, folder):
"""Delete the named folder, which must be empty."""