Issue #16324: _charset parameter of MIMEText now also accepts email.charset.Charset instances.
Initial patch by Claude Paroz.
This commit is contained in:
parent
081bbf6b28
commit
fe21e4d4d7
|
@ -195,7 +195,8 @@ Here are the classes:
|
|||
set of the text and is passed as an argument to the
|
||||
:class:`~email.mime.nonmultipart.MIMENonMultipart` constructor; it defaults
|
||||
to ``us-ascii`` if the string contains only ``ascii`` codepoints, and
|
||||
``utf-8`` otherwise.
|
||||
``utf-8`` otherwise. The *_charset* parameter accepts either a string or a
|
||||
:class:`~email.charset.Charset` instance.
|
||||
|
||||
Unless the *_charset* argument is explicitly set to ``None``, the
|
||||
MIMEText object created will have both a :mailheader:`Content-Type` header
|
||||
|
@ -206,3 +207,6 @@ Here are the classes:
|
|||
``Content-Transfer-Encoding`` header, after which a ``set_payload`` call
|
||||
will automatically encode the new payload (and add a new
|
||||
:mailheader:`Content-Transfer-Encoding` header).
|
||||
|
||||
.. versionchanged:: 3.5
|
||||
*_charset* also accepts :class:`~email.charset.Charset` instances.
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
__all__ = ['MIMEText']
|
||||
|
||||
from email.charset import Charset
|
||||
from email.mime.nonmultipart import MIMENonMultipart
|
||||
|
||||
|
||||
|
@ -34,6 +35,8 @@ class MIMEText(MIMENonMultipart):
|
|||
_charset = 'us-ascii'
|
||||
except UnicodeEncodeError:
|
||||
_charset = 'utf-8'
|
||||
if isinstance(_charset, Charset):
|
||||
_charset = str(_charset)
|
||||
|
||||
MIMENonMultipart.__init__(self, 'text', _subtype,
|
||||
**{'charset': _charset})
|
||||
|
|
|
@ -1636,6 +1636,10 @@ class TestMIMEText(unittest.TestCase):
|
|||
msg = MIMEText('hello there', _charset='us-ascii')
|
||||
eq(msg.get_charset().input_charset, 'us-ascii')
|
||||
eq(msg['content-type'], 'text/plain; charset="us-ascii"')
|
||||
# Also accept a Charset instance
|
||||
msg = MIMEText('hello there', _charset=Charset('utf-8'))
|
||||
eq(msg.get_charset().input_charset, 'utf-8')
|
||||
eq(msg['content-type'], 'text/plain; charset="utf-8"')
|
||||
|
||||
def test_7bit_input(self):
|
||||
eq = self.assertEqual
|
||||
|
|
|
@ -1024,6 +1024,7 @@ Peter Parente
|
|||
Alexandre Parenteau
|
||||
Dan Parisien
|
||||
William Park
|
||||
Claude Paroz
|
||||
Heikki Partanen
|
||||
Harri Pasanen
|
||||
Gaël Pasgrimaud
|
||||
|
|
|
@ -10,6 +10,9 @@ Release date: TBA
|
|||
Core and Builtins
|
||||
-----------------
|
||||
|
||||
- Issue #16324: _charset parameter of MIMEText now also accepts
|
||||
email.charset.Charset instances. Initial patch by Claude Paroz.
|
||||
|
||||
- Issue #1764286: Fix inspect.getsource() to support decorated functions.
|
||||
Patch by Claudiu Popa.
|
||||
|
||||
|
|
Loading…
Reference in New Issue