mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			142 lines
		
	
	
	
		
			5.6 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
	
		
			5.6 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| \declaremodule{standard}{email.Utils}
 | |
| \modulesynopsis{Miscellaneous email package utilities.}
 | |
| 
 | |
| There are several useful utilities provided with the \module{email}
 | |
| package.
 | |
| 
 | |
| \begin{funcdesc}{quote}{str}
 | |
| Return a new string with backslashes in \var{str} replaced by two
 | |
| backslashes, and double quotes replaced by backslash-double quote.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{unquote}{str}
 | |
| Return a new string which is an \emph{unquoted} version of \var{str}.
 | |
| If \var{str} ends and begins with double quotes, they are stripped
 | |
| off.  Likewise if \var{str} ends and begins with angle brackets, they
 | |
| are stripped off.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{parseaddr}{address}
 | |
| Parse address -- which should be the value of some address-containing
 | |
| field such as \mailheader{To} or \mailheader{Cc} -- into its constituent
 | |
| \emph{realname} and \emph{email address} parts.  Returns a tuple of that
 | |
| information, unless the parse fails, in which case a 2-tuple of
 | |
| \code{('', '')} is returned.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{formataddr}{pair}
 | |
| The inverse of \method{parseaddr()}, this takes a 2-tuple of the form
 | |
| \code{(realname, email_address)} and returns the string value suitable
 | |
| for a \mailheader{To} or \mailheader{Cc} header.  If the first element of
 | |
| \var{pair} is false, then the second element is returned unmodified.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{getaddresses}{fieldvalues}
 | |
| This method returns a list of 2-tuples of the form returned by
 | |
| \code{parseaddr()}.  \var{fieldvalues} is a sequence of header field
 | |
| values as might be returned by \method{Message.get_all()}.  Here's a
 | |
| simple example that gets all the recipients of a message:
 | |
| 
 | |
| \begin{verbatim}
 | |
| from email.Utils import getaddresses
 | |
| 
 | |
| tos = msg.get_all('to', [])
 | |
| ccs = msg.get_all('cc', [])
 | |
| resent_tos = msg.get_all('resent-to', [])
 | |
| resent_ccs = msg.get_all('resent-cc', [])
 | |
| all_recipients = getaddresses(tos + ccs + resent_tos + resent_ccs)
 | |
| \end{verbatim}
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{parsedate}{date}
 | |
| Attempts to parse a date according to the rules in \rfc{2822}.
 | |
| however, some mailers don't follow that format as specified, so
 | |
| \function{parsedate()} tries to guess correctly in such cases. 
 | |
| \var{date} is a string containing an \rfc{2822} date, such as 
 | |
| \code{"Mon, 20 Nov 1995 19:12:08 -0500"}.  If it succeeds in parsing
 | |
| the date, \function{parsedate()} returns a 9-tuple that can be passed
 | |
| directly to \function{time.mktime()}; otherwise \code{None} will be
 | |
| returned.  Note that fields 6, 7, and 8 of the result tuple are not
 | |
| usable.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{parsedate_tz}{date}
 | |
| Performs the same function as \function{parsedate()}, but returns
 | |
| either \code{None} or a 10-tuple; the first 9 elements make up a tuple
 | |
| that can be passed directly to \function{time.mktime()}, and the tenth
 | |
| is the offset of the date's timezone from UTC (which is the official
 | |
| term for Greenwich Mean Time)\footnote{Note that the sign of the timezone
 | |
| offset is the opposite of the sign of the \code{time.timezone}
 | |
| variable for the same timezone; the latter variable follows the
 | |
| \POSIX{} standard while this module follows \rfc{2822}.}.  If the input
 | |
| string has no timezone, the last element of the tuple returned is
 | |
| \code{None}.  Note that fields 6, 7, and 8 of the result tuple are not
 | |
| usable.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{mktime_tz}{tuple}
 | |
| Turn a 10-tuple as returned by \function{parsedate_tz()} into a UTC
 | |
| timestamp.  It the timezone item in the tuple is \code{None}, assume
 | |
| local time.  Minor deficiency: \function{mktime_tz()} interprets the
 | |
| first 8 elements of \var{tuple} as a local time and then compensates
 | |
| for the timezone difference.  This may yield a slight error around
 | |
| changes in daylight savings time, though not worth worrying about for
 | |
| common use.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{formatdate}{\optional{timeval\optional{, localtime}}}
 | |
| Returns a date string as per \rfc{2822}, e.g.:
 | |
| 
 | |
| \begin{verbatim}
 | |
| Fri, 09 Nov 2001 01:08:47 -0000
 | |
| \end{verbatim}
 | |
| 
 | |
| Optional \var{timeval} if given is a floating point time value as
 | |
| accepted by \function{time.gmtime()} and \function{time.localtime()},
 | |
| otherwise the current time is used.
 | |
| 
 | |
| Optional \var{localtime} is a flag that when \code{True}, interprets
 | |
| \var{timeval}, and returns a date relative to the local timezone
 | |
| instead of UTC, properly taking daylight savings time into account.
 | |
| The default is \code{False} meaning UTC is used.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{make_msgid}{\optional{idstring}}
 | |
| Returns a string suitable for an \rfc{2822}-compliant
 | |
| \mailheader{Message-ID} header.  Optional \var{idstring} if given, is
 | |
| a string used to strengthen the uniqueness of the message id.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{decode_rfc2231}{s}
 | |
| Decode the string \var{s} according to \rfc{2231}.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{encode_rfc2231}{s\optional{, charset\optional{, language}}}
 | |
| Encode the string \var{s} according to \rfc{2231}.  Optional
 | |
| \var{charset} and \var{language}, if given is the character set name
 | |
| and language name to use.  If neither is given, \var{s} is returned
 | |
| as-is.  If \var{charset} is given but \var{language} is not, the
 | |
| string is encoded using the empty string for \var{language}.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{decode_params}{params}
 | |
| Decode parameters list according to \rfc{2231}.  \var{params} is a
 | |
| sequence of 2-tuples containing elements of the form
 | |
| \code{(content-type, string-value)}.
 | |
| \end{funcdesc}
 | |
| 
 | |
| The following functions have been deprecated:
 | |
| 
 | |
| \begin{funcdesc}{dump_address_pair}{pair}
 | |
| \deprecated{2.2.2}{Use \function{formataddr()} instead.}
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{decode}{s}
 | |
| \deprecated{2.2.2}{Use \method{Header.decode_header()} instead.}
 | |
| \end{funcdesc}
 | |
| 
 | |
| 
 | |
| \begin{funcdesc}{encode}{s\optional{, charset\optional{, encoding}}}
 | |
| \deprecated{2.2.2}{Use \method{Header.encode()} instead.}
 | |
| \end{funcdesc}
 | |
| 
 | 
