
    4pf,	                     t    d Z ddlmZ ddlmZ ddlmZ ddlm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.    )print_function)unicode_literals)division)absolute_import)body_line_iteratortyped_subpart_iteratorwalkN)StringIOc              #      K   | V  |                                  r2|                                 D ]}|                                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subpart
subsubparts      `/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/future/backports/email/iterators.pyr	   r	      s       JJJ !'')) 	! 	!G%llnn ! !
     !! !	! 	!    Fc              #      K   |                                  D ]C}|                    |          }t          |t                    rt	          |          D ]}|V  Dd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   payloadlines        r   r   r   %   st      
 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   1   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,   >   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__
__future__r   r   r   r   __all__r'   ior
   r	   r   r   r,    r   r   <module>r6      s   
 8 7 % % % % % % ' ' ' ' ' '       & & & & & &   


      
! 
! 
!	 	 	 	
 
 
 
> > > > > >r   