| 
									
										
										
										
											2002-04-10 21:01:31 +00:00
										 |  |  |  | # Copyright (C) 2001,2002 Python Software Foundation | 
					
						
							| 
									
										
										
										
											2001-09-23 03:17:28 +00:00
										 |  |  |  | # Author: barry@zope.com (Barry Warsaw) | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | """Class representing text/* type MIME documents.
 | 
					
						
							|  |  |  |  | """
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-04-10 21:01:31 +00:00
										 |  |  |  | import warnings | 
					
						
							| 
									
										
										
										
											2002-06-02 19:05:08 +00:00
										 |  |  |  | from email.MIMENonMultipart import MIMENonMultipart | 
					
						
							|  |  |  |  | from email.Encoders import encode_7or8bit | 
					
						
							| 
									
										
										
										
											2001-09-23 03:17:28 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-10-04 17:05:11 +00:00
										 |  |  |  |  | 
					
						
							| 
									
										
										
										
											2002-06-02 19:05:08 +00:00
										 |  |  |  | class MIMEText(MIMENonMultipart): | 
					
						
							| 
									
										
										
										
											2001-09-23 03:17:28 +00:00
										 |  |  |  |     """Class for generating text/* type MIME documents.""" | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-09-26 05:34:30 +00:00
										 |  |  |  |     def __init__(self, _text, _subtype='plain', _charset='us-ascii', | 
					
						
							| 
									
										
										
										
											2002-04-10 21:01:31 +00:00
										 |  |  |  |                  _encoder=None): | 
					
						
							| 
									
										
										
										
											2001-09-23 03:17:28 +00:00
										 |  |  |  |         """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. | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-09-26 05:34:30 +00:00
										 |  |  |  |         _subtype is the MIME sub content type, defaulting to "plain". | 
					
						
							| 
									
										
										
										
											2001-09-23 03:17:28 +00:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-10-01 00:52:27 +00:00
										 |  |  |  |         _charset is the character set parameter added to the Content-Type | 
					
						
							| 
									
										
										
										
											2002-04-10 21:01:31 +00:00
										 |  |  |  |         header.  This defaults to "us-ascii".  Note that as a side-effect, the | 
					
						
							| 
									
										
										
										
											2002-10-01 00:52:27 +00:00
										 |  |  |  |         Content-Transfer-Encoding header will also be set. | 
					
						
							| 
									
										
										
										
											2002-04-10 21:01:31 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         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. | 
					
						
							| 
									
										
										
										
											2001-09-23 03:17:28 +00:00
										 |  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2002-06-02 19:05:08 +00:00
										 |  |  |  |         MIMENonMultipart.__init__(self, 'text', _subtype, | 
					
						
							|  |  |  |  |                                   **{'charset': _charset}) | 
					
						
							| 
									
										
										
										
											2002-09-28 20:27:28 +00:00
										 |  |  |  |         if _text and not _text.endswith('\n'): | 
					
						
							| 
									
										
										
										
											2001-09-23 03:17:28 +00:00
										 |  |  |  |             _text += '\n' | 
					
						
							| 
									
										
										
										
											2002-04-10 21:01:31 +00:00
										 |  |  |  |         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 | 
					
						
							| 
									
										
										
										
											2002-10-01 00:52:27 +00:00
										 |  |  |  |             # Content-Transfer-Encoding header, we need to delete the | 
					
						
							| 
									
										
										
										
											2002-04-10 21:01:31 +00:00
										 |  |  |  |             # existing one or will end up with two of them. :( | 
					
						
							|  |  |  |  |             del self['content-transfer-encoding'] | 
					
						
							|  |  |  |  |             _encoder(self) |