Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3d12c43

Browse files
committed
#11062: Fix adding a message from file to Babyl mailbox
1 parent 2b209cd commit 3d12c43

3 files changed

Lines changed: 9 additions & 13 deletions

File tree

Lib/mailbox.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1443,9 +1443,9 @@ def _install_message(self, message):
14431443
line = line[:-1] + b'\n'
14441444
self._file.write(line.replace(b'\n', linesep))
14451445
if line == b'\n' or not line:
1446-
self._file.write(b'*** EOOH ***' + linesep)
14471446
if first_pass:
14481447
first_pass = False
1448+
self._file.write(b'*** EOOH ***' + linesep)
14491449
message.seek(original_pos)
14501450
else:
14511451
break

Lib/test/test_mailbox.py

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -148,31 +148,25 @@ def test_add_binary_file(self):
148148
f.write(_bytes_sample_message)
149149
f.seek(0)
150150
key = self._box.add(f)
151-
# See issue 11062
152-
if not isinstance(self._box, mailbox.Babyl):
153-
self.assertEqual(self._box.get_bytes(key).split(b'\n'),
154-
_bytes_sample_message.split(b'\n'))
151+
self.assertEqual(self._box.get_bytes(key).split(b'\n'),
152+
_bytes_sample_message.split(b'\n'))
155153

156154
def test_add_binary_nonascii_file(self):
157155
with tempfile.TemporaryFile('wb+') as f:
158156
f.write(self._non_latin_bin_msg)
159157
f.seek(0)
160158
key = self._box.add(f)
161-
# See issue 11062
162-
if not isinstance(self._box, mailbox.Babyl):
163-
self.assertEqual(self._box.get_bytes(key).split(b'\n'),
164-
self._non_latin_bin_msg.split(b'\n'))
159+
self.assertEqual(self._box.get_bytes(key).split(b'\n'),
160+
self._non_latin_bin_msg.split(b'\n'))
165161

166162
def test_add_text_file_warns(self):
167163
with tempfile.TemporaryFile('w+') as f:
168164
f.write(_sample_message)
169165
f.seek(0)
170166
with self.assertWarns(DeprecationWarning):
171167
key = self._box.add(f)
172-
# See issue 11062
173-
if not isinstance(self._box, mailbox.Babyl):
174-
self.assertEqual(self._box.get_bytes(key).split(b'\n'),
175-
_bytes_sample_message.split(b'\n'))
168+
self.assertEqual(self._box.get_bytes(key).split(b'\n'),
169+
_bytes_sample_message.split(b'\n'))
176170

177171
def test_add_StringIO_warns(self):
178172
with self.assertWarns(DeprecationWarning):

Misc/NEWS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ Core and Builtins
101101
Library
102102
-------
103103

104+
- Issue #11062: Fix adding a message from file to Babyl mailbox.
105+
104106
- Issue #15646: Prevent equivalent of a fork bomb when using
105107
multiprocessing on Windows without the "if __name__ == '__main__'"
106108
idiom.

0 commit comments

Comments
 (0)