mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	 bb11386730
			
		
	
	
		bb11386730
		
	
	
	
	
		
			
			Briefly (from the NEWS file):
- Updates for the email package:
  + All deprecated APIs that in email 2.x issued warnings have been removed:
    _encoder argument to the MIMEText constructor, Message.add_payload(),
    Utils.dump_address_pair(), Utils.decode(), Utils.encode()
  + New deprecations: Generator.__call__(), Message.get_type(),
    Message.get_main_type(), Message.get_subtype(), the 'strict' argument to
    the Parser constructor.  These will be removed in email 3.1.
  + Support for Python earlier than 2.3 has been removed (see PEP 291).
  + All defect classes have been renamed to end in 'Defect'.
  + Some FeedParser fixes; also a MultipartInvariantViolationDefect will be
    added to messages that claim to be multipart but really aren't.
  + Updates to documentation.
		
	
			
		
			
				
	
	
		
			87 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| \declaremodule{standard}{email.Errors}
 | |
| \modulesynopsis{The exception classes used by the email package.}
 | |
| 
 | |
| The following exception classes are defined in the
 | |
| \module{email.Errors} module:
 | |
| 
 | |
| \begin{excclassdesc}{MessageError}{}
 | |
| This is the base class for all exceptions that the \module{email}
 | |
| package can raise.  It is derived from the standard
 | |
| \exception{Exception} class and defines no additional methods.
 | |
| \end{excclassdesc}
 | |
| 
 | |
| \begin{excclassdesc}{MessageParseError}{}
 | |
| This is the base class for exceptions thrown by the \class{Parser}
 | |
| class.  It is derived from \exception{MessageError}.
 | |
| \end{excclassdesc}
 | |
| 
 | |
| \begin{excclassdesc}{HeaderParseError}{}
 | |
| Raised under some error conditions when parsing the \rfc{2822} headers of
 | |
| a message, this class is derived from \exception{MessageParseError}.
 | |
| It can be raised from the \method{Parser.parse()} or
 | |
| \method{Parser.parsestr()} methods.
 | |
| 
 | |
| Situations where it can be raised include finding an envelope
 | |
| header after the first \rfc{2822} header of the message, finding a
 | |
| continuation line before the first \rfc{2822} header is found, or finding
 | |
| a line in the headers which is neither a header or a continuation
 | |
| line.
 | |
| \end{excclassdesc}
 | |
| 
 | |
| \begin{excclassdesc}{BoundaryError}{}
 | |
| Raised under some error conditions when parsing the \rfc{2822} headers of
 | |
| a message, this class is derived from \exception{MessageParseError}.
 | |
| It can be raised from the \method{Parser.parse()} or
 | |
| \method{Parser.parsestr()} methods.
 | |
| 
 | |
| Situations where it can be raised include not being able to find the
 | |
| starting or terminating boundary in a \mimetype{multipart/*} message
 | |
| when strict parsing is used.
 | |
| \end{excclassdesc}
 | |
| 
 | |
| \begin{excclassdesc}{MultipartConversionError}{}
 | |
| Raised when a payload is added to a \class{Message} object using
 | |
| \method{add_payload()}, but the payload is already a scalar and the
 | |
| message's \mailheader{Content-Type} main type is not either
 | |
| \mimetype{multipart} or missing.  \exception{MultipartConversionError}
 | |
| multiply inherits from \exception{MessageError} and the built-in
 | |
| \exception{TypeError}.
 | |
| 
 | |
| Since \method{Message.add_payload()} is deprecated, this exception is
 | |
| rarely raised in practice.  However the exception may also be raised
 | |
| if the \method{attach()} method is called on an instance of a class
 | |
| derived from \class{MIMENonMultipart} (e.g. \class{MIMEImage}).
 | |
| \end{excclassdesc}
 | |
| 
 | |
| Here's the list of the defects that the \class{FeedParser} can find while
 | |
| parsing messages.  Note that the defects are added to the message where the
 | |
| problem was found, so for example, if a message nested inside a
 | |
| \mimetype{multipart/alternative} had a malformed header, that nested message
 | |
| object would have a defect, but the containing messages would not.
 | |
| 
 | |
| All defect classes are subclassed from \class{email.Errors.MessageDefect}, but
 | |
| this class is \emph{not} an exception!
 | |
| 
 | |
| \versionadded[All the defect classes were added]{2.4}
 | |
| 
 | |
| \begin{itemize}
 | |
| \item \class{NoBoundaryInMultipartDefect} -- A message claimed to be a
 | |
|       multipart, but had no \mimetype{boundary} parameter.
 | |
| 
 | |
| \item \class{StartBoundaryNotFoundDefect} -- The start boundary claimed in the
 | |
|       \mailheader{Content-Type} header was never found.
 | |
| 
 | |
| \item \class{FirstHeaderLineIsContinuationDefect} -- The message had a
 | |
|       continuation line as its first header line.
 | |
| 
 | |
| \item \class{MisplacedEnvelopeHeaderDefect} - A ``Unix From'' header was found
 | |
|       in the middle of a header block.
 | |
| 
 | |
| \item \class{MalformedHeaderDefect} -- A header was found that was missing a
 | |
|       colon, or was otherwise malformed.
 | |
| 
 | |
| \item \class{MultipartInvariantViolationDefect} -- A message claimed to be a
 | |
|       \mimetype{multipart}, but no subparts were found.  Note that when a
 | |
|       message has this defect, its \method{is_multipart()} method may return
 | |
|       false even though its content type claims to be \mimetype{multipart}.
 | |
| \end{itemize}
 |