From: R David Murray Date: Sat, 20 Sep 2014 22:16:39 +0000 (-0400) Subject: Merge: #21091: make is_attachment a method. X-Git-Tag: v3.5.0a1~890 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7c4093ca95b9aebd11dad069bcdb20f9b0ce902d;p=python Merge: #21091: make is_attachment a method. --- 7c4093ca95b9aebd11dad069bcdb20f9b0ce902d diff --cc Lib/email/message.py index 124071d5e1,a179f8e374..727cd1e865 --- a/Lib/email/message.py +++ b/Lib/email/message.py @@@ -938,13 -950,15 +939,12 @@@ class MIMEPart(Message) policy = default Message.__init__(self, policy) -- @property def is_attachment(self): c_d = self.get('content-disposition') - result = False if c_d is None else c_d.content_disposition == 'attachment' - # XXX transitional hack to raise deprecation if not called. - return _IsAttachment(result) + return False if c_d is None else c_d.content_disposition == 'attachment' def _find_body(self, part, preferencelist): - if part.is_attachment: + if part.is_attachment(): return maintype, subtype = part.get_content_type().split('/') if maintype == 'text': diff --cc Lib/test/test_email/test_message.py index 51ddf36099,50e1a632c2..d78049e315 --- a/Lib/test/test_email/test_message.py +++ b/Lib/test/test_email/test_message.py @@@ -722,15 -722,25 +722,15 @@@ class TestEmailMessageBase def test_is_attachment(self): m = self._make_message() - self.assertFalse(m.is_attachment) + self.assertFalse(m.is_attachment()) - with self.assertWarns(DeprecationWarning): - self.assertFalse(m.is_attachment) m['Content-Disposition'] = 'inline' - self.assertFalse(m.is_attachment) + self.assertFalse(m.is_attachment()) - with self.assertWarns(DeprecationWarning): - self.assertFalse(m.is_attachment) m.replace_header('Content-Disposition', 'attachment') - self.assertTrue(m.is_attachment) + self.assertTrue(m.is_attachment()) - with self.assertWarns(DeprecationWarning): - self.assertTrue(m.is_attachment) m.replace_header('Content-Disposition', 'AtTachMent') - self.assertTrue(m.is_attachment) + self.assertTrue(m.is_attachment()) - with self.assertWarns(DeprecationWarning): - self.assertTrue(m.is_attachment) m.set_param('filename', 'abc.png', 'Content-Disposition') - self.assertTrue(m.is_attachment) + self.assertTrue(m.is_attachment()) - with self.assertWarns(DeprecationWarning): - self.assertTrue(m.is_attachment) class TestEmailMessage(TestEmailMessageBase, TestEmailBase): diff --cc Misc/NEWS index e4edc4cf39,356021291a..da74650a0f --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -137,6 -32,11 +137,9 @@@ Core and Builtin Library ------- + - Issue #21091: Fix API bug: email.message.EmailMessage.is_attachment is now - a method. Since EmailMessage is provisional, we can change the API in a - maintenance release, but we use a trick to remain backward compatible with - 3.4.0/1. ++ a method. + - Issue #21079: Fix email.message.EmailMessage.is_attachment to return the correct result when the header has parameters as well as a value.