"email.iterators": Iterators
****************************

**Código fuente:** Lib/email/iterators.py

======================================================================

Iterating over a message object tree is fairly easy with the
"Message.walk" method.  The "email.iterators" module provides some
useful higher level iterations over message object trees.

email.iterators.body_line_iterator(msg, decode=False)

   Itera sobre todas las cargas útiles de todas las subpartes de
   *msg*, retornando las cargas útiles en cadenas de caracteres línea
   por línea. Descarta todas las cabeceras de las subpartes, y
   descarta cualquier subparte con una carga útil que no sea una
   cadena de caracteres de Python. Esto de alguna forma es equivalente
   a leer la representación en texto plano del mensaje desde un
   fichero usando "readline()", descartando todas las cabeceras
   intermedias.

   El argumento opcional *decode* se pasa a través de
   "Message.get_payload".

email.iterators.typed_subpart_iterator(msg, maintype='text', subtype=None)

   Itera sobre todas las subpartes de *msg*, retornando solo las
   subpartes que coincidan el tipo MIME especificado por *maintype* y
   *subtype*.

   Note que *subtype* es opcional; si se omite, entonces se comprobará
   si el tipo MIME de las subpartes coincide con el tipo principal
   solamente. *maintype* es opcional también; su valor por defecto es
   *text*.

   Por tanto, por defecto "typed_subpart_iterator()" retorna cada
   parte que tenga un tipo MIME *text/**.

La siguiente función se ha añadido como una útil herramienta de
depuración. *No* debe ser considerada parte de la interfaz pública
soportada para este paquete.

email.iterators._structure(msg, fp=None, level=0, include_default=False)

   Imprime una representación con sangrías de los tipos del contenido
   de la estructura de objetos mensaje. Por ejemplo:

      >>> 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

   El argumento opcional *fp* es un objeto similar a un fichero en el
   que imprimir la salida. Debe ser adecuado para la función de Python
   "print()". Se usa *level* internamente. *include_default*, si tiene
   su valor a verdadero, imprime el tipo por defecto también.
