mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 03:44:55 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# Copyright (C) 2001-2006 Python Software Foundation
 | 
						||
# Author: Barry Warsaw
 | 
						||
# Contact: email-sig@python.org
 | 
						||
 | 
						||
"""Class representing text/* type MIME documents."""
 | 
						||
 | 
						||
__all__ = ['MIMEText']
 | 
						||
 | 
						||
from email.charset import Charset
 | 
						||
from email.mime.nonmultipart import MIMENonMultipart
 | 
						||
 | 
						||
 | 
						||
 | 
						||
class MIMEText(MIMENonMultipart):
 | 
						||
    """Class for generating text/* type MIME documents."""
 | 
						||
 | 
						||
    def __init__(self, _text, _subtype='plain', _charset=None):
 | 
						||
        """Create a text/* type MIME document.
 | 
						||
 | 
						||
        _text is the string for this message object.
 | 
						||
 | 
						||
        _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.
 | 
						||
        """
 | 
						||
 | 
						||
        # If no _charset was specified, check to see if there are non-ascii
 | 
						||
        # characters present. If not, use 'us-ascii', otherwise use utf-8.
 | 
						||
        # XXX: This can be removed once #7304 is fixed.
 | 
						||
        if _charset is None:
 | 
						||
            try:
 | 
						||
                _text.encode('us-ascii')
 | 
						||
                _charset = 'us-ascii'
 | 
						||
            except UnicodeEncodeError:
 | 
						||
                _charset = 'utf-8'
 | 
						||
        if isinstance(_charset, Charset):
 | 
						||
            _charset = str(_charset)
 | 
						||
 | 
						||
        MIMENonMultipart.__init__(self, 'text', _subtype,
 | 
						||
                                  **{'charset': _charset})
 | 
						||
 | 
						||
        self.set_payload(_text, _charset)
 |