ž Ĥ˙fc@swdZdddgZddlZddlmZdd„Zd dd„Zd dd d„Z ddd d d „Z dS(u1Various types of useful iterators and generators.ubody_line_iteratorutyped_subpart_iteratoruwalkiN(uStringIOccsK|V|jƒrGx3|jƒD]"}x|jƒD] }|Vq1WqWndS(u‰Walk over the message tree, yielding each subpart. The walk is performed in depth-first order. This method is a generator. N(u is_multipartu get_payloaduwalk(uselfusubpartu subsubpart((u4/opt/alt/python33/lib64/python3.3/email/iterators.pyuwalks  ccs[xT|jƒD]F}|jd|ƒ}t|tƒr xt|ƒD] }|VqAWq q WdS(uŽIterate over the parts, returning string payloads line-by-line. Optional decode (default False) is passed through to .get_payload(). udecodeN(uwalku get_payloadu isinstanceustruStringIO(umsgudecodeusubpartupayloaduline((u4/opt/alt/python33/lib64/python3.3/email/iterators.pyubody_line_iterator#s utextccsVxO|jƒD]A}|jƒ|kr |dksC|jƒ|krN|VqNq q WdS(uĝ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(uwalkuget_content_maintypeuNoneuget_content_subtype(umsgumaintypeusubtypeusubpart((u4/opt/alt/python33/lib64/python3.3/email/iterators.pyutyped_subpart_iterator/scCs·|dkrtj}nd|d}t||jƒddd|ƒ|ritd|jƒd|ƒn td|ƒ|jƒr³x.|jƒD]}t|||d|ƒqWndS( uA handy debugging aidu iuenduufileu [%s]iN( uNoneusysustdoutuprintuget_content_typeuget_default_typeu is_multipartu get_payloadu _structure(umsgufpuleveluinclude_defaultutabusubpart((u4/opt/alt/python33/lib64/python3.3/email/iterators.pyu _structure=s     u _structureF( u__doc__u__all__usysuiouStringIOuwalkuFalseubody_line_iteratoruNoneutyped_subpart_iteratoru _structure(((u4/opt/alt/python33/lib64/python3.3/email/iterators.pyus