ìÕYfWã@swdZdddgZddlZddlmZdd„Zdd d„Zd dd d„Zdddd d „ZdS)z1Various types of useful iterators and generators.Úbody_line_iteratorÚtyped_subpart_iteratorÚwalkéN)ÚStringIOccs;|V|jƒr7x#|jƒD]}|jƒEdHqWdS)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.pyrs FccsKxD|jƒD]6}|jd|ƒ}t|tƒr t|ƒEdHq WdS)zŽIterate over the parts, returning string payloads line-by-line. Optional decode (default False) is passed through to .get_payload(). ÚdecodeN)rrÚ isinstanceÚstrr)Úmsgr r Zpayloadr r r r"sÚtextccsPxI|jƒD];}|jƒ|kr |dksC|jƒ|kr |Vq WdS)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)rZget_content_maintypeZget_content_subtype)rZmaintypeÚsubtyper r r r r-scCs±|dkrtj}d|d}t||jƒddd|ƒ|rftd|jƒd|ƒn td|ƒ|jƒr­x+|jƒD]}t|||d|ƒqŒWdS) zA handy debugging aidNú éÚendÚÚfilez [%s]é)ÚsysÚstdoutÚprintZget_content_typeZget_default_typerrÚ _structure)rÚfpÚlevelZinclude_defaultZtabr r r r r;s     r) Ú__doc__Ú__all__rÚiorrrrrr r r r Ús