diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2006-11-09 13:27:07 +0000 |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2006-11-09 13:27:07 +0000 |
commit | 3cbe07b5f2d3b436eace354f14fa5d6889d0365d (patch) | |
tree | d31f9cd2cb613b944d9d2511fe28362413205fca /Lib/mailbox.py | |
parent | 9780dbefa2626bdbbd62530aed845d6eaa66c08b (diff) | |
download | cpython-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-x | Lib/mailbox.py | 12 |
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.""" |