Also, add an appropriate Content-Transfer-Encoding header.
"""
orig = msg.get_payload()
- encdata = _bencode(orig)
+ encdata = str(_bencode(orig), 'ascii')
msg.set_payload(encdata)
msg['Content-Transfer-Encoding'] = 'base64'
def test_encoding(self):
payload = self._au.get_payload()
- self.assertEqual(base64.decodebytes(payload), self._audiodata)
+ self.assertEqual(base64.decodebytes(bytes(payload, 'ascii')),
+ self._audiodata)
def test_checkSetMinor(self):
au = MIMEAudio(self._audiodata, 'fish')
def test_encoding(self):
payload = self._im.get_payload()
- self.assertEqual(base64.decodebytes(payload), self._imgdata)
+ self.assertEqual(base64.decodebytes(bytes(payload, 'ascii')),
+ self._imgdata)
def test_checkSetMinor(self):
im = MIMEImage(self._imgdata, 'fish')
eq = self.assertEqual
bytes = b'\xfa\xfb\xfc\xfd\xfe\xff'
msg = MIMEApplication(bytes)
- eq(msg.get_payload(), b'+vv8/f7/')
+ eq(msg.get_payload(), '+vv8/f7/')
eq(msg.get_payload(decode=True), bytes)
Library
-------
+- Issue #4768: base64 encoded email body parts were incorrectly stored as
+ binary strings. They are now correctly converted to strings.
+
- Issue #8833: tarfile created hard link entries with a size field != 0 by
mistake.