
    dQ                     D    d Z g dZddlZddlmZ d ZddZdd	Zdd
ZdS )z1Various types of useful iterators and generators.)body_line_iteratortyped_subpart_iteratorwalk    N)StringIOc              #      K   | V  |                                  r1|                                 D ]}|                                E d{V  dS dS )zWalk 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subparts     !  /croot/python-split_1694437901252/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.11/email/iterators.pyr   r      sw       JJJ &'')) 	& 	&G||~~%%%%%%%%& &	& 	&    Fc              #      K   |                                  D ]B}|                    |          }t          |t                    rt	          |          E d{V  CdS )zIterate 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   payloads       r   r   r       sr      
 88:: ) )%%V%44gs## 	)((((((((() )r   textc              #      K   |                                  D ]8}|                                |k    r||                                |k    r|V  9dS )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   get_content_maintypeget_content_subtype)r   maintypesubtyper   s       r   r   r   +   se       88::  ''))X55'"="="?"?7"J"J r   c                 v   |t           j        }d|dz  z  }t          ||                                 z   d|           |r't          d|                                 z  |           nt          |           |                                 r,|                                 D ]}t          |||dz   |           dS dS )	zA handy debugging aidN     )endfilez [%s])r      )sysstdoutprintget_content_typeget_default_typer   r	   
_structure)r   fplevelinclude_defaulttabr   s         r   r&   r&   8   s    	zZ

C	#$$&&
&BR8888 g,,...R888882
 >(( 	> 	>GwE!G_====> >	> 	>r   )F)r   N)Nr   F)	__doc____all__r!   ior   r   r   r   r&    r   r   <module>r/      s   
 8 7   


      	& 	& 	&) ) ) )
 
 
 
> > > > > >r   