| 1 | \declaremodule{standard}{email.iterators}
|
|---|
| 2 | \modulesynopsis{Iterate over a message object tree.}
|
|---|
| 3 |
|
|---|
| 4 | Iterating over a message object tree is fairly easy with the
|
|---|
| 5 | \method{Message.walk()} method. The \module{email.iterators} module
|
|---|
| 6 | provides some useful higher level iterations over message object
|
|---|
| 7 | trees.
|
|---|
| 8 |
|
|---|
| 9 | \begin{funcdesc}{body_line_iterator}{msg\optional{, decode}}
|
|---|
| 10 | This iterates over all the payloads in all the subparts of \var{msg},
|
|---|
| 11 | returning the string payloads line-by-line. It skips over all the
|
|---|
| 12 | subpart headers, and it skips over any subpart with a payload that
|
|---|
| 13 | isn't a Python string. This is somewhat equivalent to reading the
|
|---|
| 14 | flat text representation of the message from a file using
|
|---|
| 15 | \method{readline()}, skipping over all the intervening headers.
|
|---|
| 16 |
|
|---|
| 17 | Optional \var{decode} is passed through to \method{Message.get_payload()}.
|
|---|
| 18 | \end{funcdesc}
|
|---|
| 19 |
|
|---|
| 20 | \begin{funcdesc}{typed_subpart_iterator}{msg\optional{,
|
|---|
| 21 | maintype\optional{, subtype}}}
|
|---|
| 22 | This iterates over all the subparts of \var{msg}, returning only those
|
|---|
| 23 | subparts that match the MIME type specified by \var{maintype} and
|
|---|
| 24 | \var{subtype}.
|
|---|
| 25 |
|
|---|
| 26 | Note that \var{subtype} is optional; if omitted, then subpart MIME
|
|---|
| 27 | type matching is done only with the main type. \var{maintype} is
|
|---|
| 28 | optional too; it defaults to \mimetype{text}.
|
|---|
| 29 |
|
|---|
| 30 | Thus, by default \function{typed_subpart_iterator()} returns each
|
|---|
| 31 | subpart that has a MIME type of \mimetype{text/*}.
|
|---|
| 32 | \end{funcdesc}
|
|---|
| 33 |
|
|---|
| 34 | The following function has been added as a useful debugging tool. It
|
|---|
| 35 | should \emph{not} be considered part of the supported public interface
|
|---|
| 36 | for the package.
|
|---|
| 37 |
|
|---|
| 38 | \begin{funcdesc}{_structure}{msg\optional{, fp\optional{, level}}}
|
|---|
| 39 | Prints an indented representation of the content types of the
|
|---|
| 40 | message object structure. For example:
|
|---|
| 41 |
|
|---|
| 42 | \begin{verbatim}
|
|---|
| 43 | >>> msg = email.message_from_file(somefile)
|
|---|
| 44 | >>> _structure(msg)
|
|---|
| 45 | multipart/mixed
|
|---|
| 46 | text/plain
|
|---|
| 47 | text/plain
|
|---|
| 48 | multipart/digest
|
|---|
| 49 | message/rfc822
|
|---|
| 50 | text/plain
|
|---|
| 51 | message/rfc822
|
|---|
| 52 | text/plain
|
|---|
| 53 | message/rfc822
|
|---|
| 54 | text/plain
|
|---|
| 55 | message/rfc822
|
|---|
|
|---|