email.iterators
: Iteradores¶
Código fuente: Lib/email/iterators.py
Iterar sobre un árbol de objetos mensaje es bastante fácil con el método Message.walk
. El módulo email.iterators
proporciona algunos iteradores útiles de más alto nivel sobre árboles de objetos mensaje.
- 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.