| \declaremodule{standard}{email.iterators} |
| \modulesynopsis{Iterate over a message object tree.} |
| |
| Iterating over a message object tree is fairly easy with the |
| \method{Message.walk()} method. The \module{email.iterators} module |
| provides some useful higher level iterations over message object |
| trees. |
| |
| \begin{funcdesc}{body_line_iterator}{msg\optional{, decode}} |
| This iterates over all the payloads in all the subparts of \var{msg}, |
| returning the string payloads line-by-line. It skips over all the |
| subpart headers, and it skips over any subpart with a payload that |
| isn't a Python string. This is somewhat equivalent to reading the |
| flat text representation of the message from a file using |
| \method{readline()}, skipping over all the intervening headers. |
| |
| Optional \var{decode} is passed through to \method{Message.get_payload()}. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{typed_subpart_iterator}{msg\optional{, |
| maintype\optional{, subtype}}} |
| This iterates over all the subparts of \var{msg}, returning only those |
| subparts that match the MIME type specified by \var{maintype} and |
| \var{subtype}. |
| |
| Note that \var{subtype} is optional; if omitted, then subpart MIME |
| type matching is done only with the main type. \var{maintype} is |
| optional too; it defaults to \mimetype{text}. |
| |
| Thus, by default \function{typed_subpart_iterator()} returns each |
| subpart that has a MIME type of \mimetype{text/*}. |
| \end{funcdesc} |
| |
| The following function has been added as a useful debugging tool. It |
| should \emph{not} be considered part of the supported public interface |
| for the package. |
| |
| \begin{funcdesc}{_structure}{msg\optional{, fp\optional{, level}}} |
| Prints an indented representation of the content types of the |
| message object structure. For example: |
| |
| \begin{verbatim} |
| >>> msg = email.message_from_file(somefile) |
| >>> _structure(msg) |
| multipart/mixed |
| text/plain |
| text/plain |
| multipart/digest |
| message/rfc822 |
| text/plain |
| message/rfc822 |
| text/plain |
| message/rfc822 |
| text/plain |
| message/rfc822 |
| text/plain |
| message/rfc822 |
| text/plain |
| text/plain |
| \end{verbatim} |
| |
| Optional \var{fp} is a file-like object to print the output to. It |
| must be suitable for Python's extended print statement. \var{level} |
| is used internally. |
| \end{funcdesc} |