ìÕYfW ã @ sw d Z d d d g Z d d l Z d d l m Z d d „ Z d d d „ Z d
d d d „ Z d d d d d
„ Z d S)z1Various types of useful iterators and generators.Úbody_line_iteratorÚtyped_subpart_iteratorÚwalké N)ÚStringIOc c s; | V| j ƒ r7 x# | j ƒ D] } | j ƒ Ed Hq Wd S)z‰Walk over the message tree, yielding each subpart.
The walk is performed in depth-first order. This method is a
generator.
N)Úis_multipartÚget_payloadr )ÚselfÚsubpart© r
ú4/opt/alt/python35/lib64/python3.5/email/iterators.pyr s Fc c sK xD | j ƒ D]6 } | j d | ƒ } t | t ƒ r
t | ƒ Ed Hq
Wd S)zŽIterate over the parts, returning string payloads line-by-line.
Optional decode (default False) is passed through to .get_payload().
ÚdecodeN)r r Ú
isinstanceÚstrr )Úmsgr r Zpayloadr
r
r r " s Útextc c sP xI | j ƒ D]; } | j ƒ | k r
| d k sC | j ƒ | k r
| Vq
Wd S)zøIterate over the subparts with a given MIME type.
Use `maintype' as the main MIME type to match against; this defaults to
"text". Optional `subtype' is the MIME subtype to match against; if
omitted, only the main type is matched.
N)r Zget_content_maintypeZget_content_subtype)r ZmaintypeÚsubtyper r
r
r r - s c C s± | d k r t j } d | d } t | | j ƒ d d d | ƒ| rf t d | j ƒ d | ƒn
t d | ƒ | j ƒ r x+ | j ƒ D] } t | | | d | ƒ qŒ Wd S) zA handy debugging aidNú é ÚendÚ Úfilez [%s]é )ÚsysÚstdoutÚprintZget_content_typeZget_default_typer r Ú
_structure)r ÚfpÚlevelZinclude_defaultZtabr r
r
r r ; s
r ) Ú__doc__Ú__all__r Úior r r r r r
r
r
r Ú