o
0iW @ sJ d Z g dZddlZddlmZ dd Zddd ZdddZdd
dZdS )z1Various types of useful iterators and generators.)body_line_iteratortyped_subpart_iteratorwalk N)StringIOc c s4 | V | r| D ]}| E dH qdS dS )zWalk over the message tree, yielding each subpart.
The walk is performed in depth-first order. This method is a
generator.
N)is_multipartget_payloadr )selfsubpart r
6/opt/alt/python310/lib64/python3.10/email/iterators.pyr s r Fc c s8 | D ]}|j|d}t|trt|E dH qdS )zIterate over the parts, returning string payloads line-by-line.
Optional decode (default False) is passed through to .get_payload().
)decodeN)r r
isinstancestrr )msgr r Zpayloadr
r
r r " s
r textc c s: | D ]}| |kr|du s| |kr|V qdS )zIterate 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 ZmaintypeZsubtyper r
r
r r - s r c C s |du rt j}d|d }t|| d|d |r%td| |d nt|d | r>| D ]
}t|||d | q2dS dS ) zA handy debugging aidN )endfilez [%s])r )sysstdoutprintZget_content_typeZget_default_typer r
_structure)r fplevelZinclude_defaultZtabr r
r
r r ; s
r )F)r N)Nr F) __doc____all__r ior r r r r r
r
r
r