summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2006-02-09 04:10:03 (GMT)
committerBarry Warsaw <barry@python.org>2006-02-09 04:10:03 (GMT)
commit261058cc1cb2f4ee3e9efb58f7a543626f93fd59 (patch)
tree1cbb2f485d0e7a6b16cb8be33821a6f802134d78
parent8413eab95b9d15f783711c7c9c21365f340b3114 (diff)
downloadcpython-261058cc1cb2f4ee3e9efb58f7a543626f93fd59.zip
cpython-261058cc1cb2f4ee3e9efb58f7a543626f93fd59.tar.gz
cpython-261058cc1cb2f4ee3e9efb58f7a543626f93fd59.tar.bz2
Port of r42279 to email 3.0, but without the Python 2.1 backward compatible
nonsense. Resolve SF bug 1409403: email.Message should supress warning from uu.decode.
-rw-r--r--Lib/email/Message.py2
-rw-r--r--Lib/email/test/test_email.py13
2 files changed, 14 insertions, 1 deletions
diff --git a/Lib/email/Message.py b/Lib/email/Message.py
index bc76416..a5a8ff2 100644
--- a/Lib/email/Message.py
+++ b/Lib/email/Message.py
@@ -198,7 +198,7 @@ class Message:
elif cte in ('x-uuencode', 'uuencode', 'uue', 'x-uue'):
sfp = StringIO()
try:
- uu.decode(StringIO(payload+'\n'), sfp)
+ uu.decode(StringIO(payload+'\n'), sfp, quiet=True)
payload = sfp.getvalue()
except uu.Error:
# Some decoding problem
diff --git a/Lib/email/test/test_email.py b/Lib/email/test/test_email.py
index 5a42c227..1360bbe 100644
--- a/Lib/email/test/test_email.py
+++ b/Lib/email/test/test_email.py
@@ -211,6 +211,19 @@ class TestMessageAPI(TestEmailBase):
msg.set_payload('foo')
eq(msg.get_payload(decode=True), 'foo')
+ def test_decode_bogus_uu_payload_quietly(self):
+ msg = Message()
+ msg.set_payload('begin 664 foo.txt\n%<W1F=0000H \n \nend\n')
+ msg['Content-Transfer-Encoding'] = 'x-uuencode'
+ old_stderr = sys.stderr
+ try:
+ sys.stderr = sfp = StringIO()
+ # We don't care about the payload
+ msg.get_payload(decode=True)
+ finally:
+ sys.stderr = old_stderr
+ self.assertEqual(sfp.getvalue(), '')
+
def test_decoded_generator(self):
eq = self.assertEqual
msg = self._msgobj('msg_07.txt')