home *** CD-ROM | disk | FTP | other *** search
- # Copyright (C) 2001,2002 Python Software Foundation
- # Author: barry@zope.com (Barry Warsaw)
-
- """Class representing text/* type MIME documents.
- """
-
- import warnings
- from email.MIMENonMultipart import MIMENonMultipart
- from email.Encoders import encode_7or8bit
-
-
-
- class MIMEText(MIMENonMultipart):
- """Class for generating text/* type MIME documents."""
-
- def __init__(self, _text, _subtype='plain', _charset='us-ascii',
- _encoder=None):
- """Create a text/* type MIME document.
-
- _text is the string for this message object. If the text does not end
- in a newline, one is added.
-
- _subtype is the MIME sub content type, defaulting to "plain".
-
- _charset is the character set parameter added to the Content-Type
- header. This defaults to "us-ascii". Note that as a side-effect, the
- Content-Transfer-Encoding header will also be set.
-
- The use of the _encoder is deprecated. The encoding of the payload,
- and the setting of the character set parameter now happens implicitly
- based on the _charset argument. If _encoder is supplied, then a
- DeprecationWarning is used, and the _encoder functionality may
- override any header settings indicated by _charset. This is probably
- not what you want.
- """
- MIMENonMultipart.__init__(self, 'text', _subtype,
- **{'charset': _charset})
- if _text and not _text.endswith('\n'):
- _text += '\n'
- self.set_payload(_text, _charset)
- if _encoder is not None:
- warnings.warn('_encoder argument is obsolete.',
- DeprecationWarning, 2)
- # Because set_payload() with a _charset will set its own
- # Content-Transfer-Encoding header, we need to delete the
- # existing one or will end up with two of them. :(
- del self['content-transfer-encoding']
- _encoder(self)
-