Spade

Mini Shell

Directory:~$ /proc/self/root/usr/lib64/python2.7/email/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ //proc/self/root/usr/lib64/python2.7/email/generator.pyo

�
s�fc@s�dZddgZddlZddlZddlZddlZddlZddlmZddl	m
Z
dZdZej
d	ej�Zd
�Zdfd��YZdZdefd
��YZeeejd��ZdeZed�ZdS(s:Classes
to generate plain text from a message object
tree.t	GeneratortDecodedGeneratori����N(tStringIO(tHeadert_s
s^From cCs<t|t�r8yt|d�Wq8tk
r4tSXntS(Nsus-ascii(t
isinstancetstrtunicodetUnicodeErrortTruetFalse(ts((s'/usr/lib64/python2.7/email/generator.pyt
_is8bitstrings
cBs�eZdZedd�Zd�Zed�Zd�Zd�Z	d�Z
d�Zd	�ZeZ
d
�Zd�Zd�Zd
�ZRS(s�Generates output from a Message object
tree.

    This basic generator writes the message to the given file object as
plain
    text.
    iNcCs||_||_||_dS(s�Create the generator for message
flattening.

        outfp is the output file-like object for writing the message to. 
It
        must have a write() method.

        Optional mangle_from_ is a flag that, when True (the default),
escapes
        From_ lines in the body of the message by putting a `>' in
front of
        them.

        Optional maxheaderlen specifies the longest length for a
non-continued
        header.  When a header line is longer (in characters, with tabs
        expanded to 8 spaces) than maxheaderlen, the header will split as
        defined in the Header class.  Set maxheaderlen to zero to disable
        header wrapping.  The default is 78, as recommended (but not
required)
        by RFC 2822.
       
N(t_fpt
_mangle_from_t
_maxheaderlen(tselftoutfptmangle_from_tmaxheaderlen((s'/usr/lib64/python2.7/email/generator.pyt__init__*s		cCs|jj|�dS(N(R
twrite(RR((s'/usr/lib64/python2.7/email/generator.pyR?scCsU|rD|j�}|s4dtjtj��}n|j|IJn|j|�dS(s�Print
the message object tree rooted at msg to the output file
        specified when the Generator instance was created.

        unixfrom is a flag that forces the printing of a Unix From_
delimiter
        before the first object in the message tree.  If the original
message
        has no From_ delimiter, a `standard' one is crafted.  By
default, this
        is False to inhibit the printing of any From_ delimiter.

        Note that for subobjects, no From_ line is printed.
        sFrom nobody
N(tget_unixfromttimetctimeR
t_write(Rtmsgtunixfromtufrom((s'/usr/lib64/python2.7/email/generator.pytflattenCscCs|j||j|j�S(s1Clone
this generator with the exact same
options.(t	__class__RR(Rtfp((s'/usr/lib64/python2.7/email/generator.pytcloneUscCs�|j}z!t�|_}|j|�Wd||_Xt|dd�}|dkre|j|�n
||�|jj|j��dS(Nt_write_headers(R
Rt	_dispatchtgetattrtNoneR!Rtgetvalue(RRtoldfptsfptmeth((s'/usr/lib64/python2.7/email/generator.pyR]s	

cCs�|j�}|j�}tj||f�jdd�}t|d|d�}|dkr�|jdd�}t|d|d�}|dkr�|j}q�n||�dS(Nt-Rt_handle_(tget_content_maintypetget_content_subtypet
UNDERSCOREtjointreplaceR#R$t
_writeBody(RRtmaintsubtspecificR(tgeneric((s'/usr/lib64/python2.7/email/generator.pyR"xs!c	Cs�x�|j�D]�\}}|jd|I|jdkrI|j|IJq
t|t�rn|j|j�IJq
t|�r�|j|IJq
|jt|d|jd|�j�IJq
W|jJdS(Ns%s:it
maxlinelentheader_name(titemsR
RRRtencodeR(RRthtv((s'/usr/lib64/python2.7/email/generator.pyR!�s
"cCsv|j�}|dkrdSt|t�sDtdt|���n|jrbtjd|�}n|j	j
|�dS(Nsstring payload expected: %ss>From (tget_payloadR$Rt
basestringt	TypeErrorttypeRtfcreR2R
R(RRtpayload((s'/usr/lib64/python2.7/email/generator.pyt_handle_text�s	cCsg}|j�}|dkr'g}n>t|t�rJ|jj|�dSt|t�se|g}nxL|D]D}t�}|j|�}|j	|dt
�|j|j��qlW|j
�}|s�tj|�}t|�}|j|�n|jdk	r:|jr!tjd|j�}	n	|j}	|j|	IJn|jd|IJ|rm|jj|jd��nx/|D]'}
|jd|IJ|jj|
�qtW|jjd|d�|jdk	r
|jJ|jr�tjd|j�}n	|j}|jj|�ndS(NRs>From s--is
--(R;R$RR<R
RtlistRR RR
tappendR%tget_boundarytNLR.t_make_boundarytset_boundarytpreambleRR?R2tpoptepilogue(RRtmsgtextstsubpartstpartRtgtboundarytalltextRHt	body_partRJ((s'/usr/lib64/python2.7/email/generator.pyt_handle_multipart�sJ	
			
		cCs4|j}zd|_|j|�Wd||_XdS(Ni(RRR(RRtold_maxheaderlen((s'/usr/lib64/python2.7/email/generator.pyt_handle_multipart_signed�s
		cCs�g}x�|j�D]�}t�}|j|�}|j|dt�|j�}|jd�}|r�|ddkr�|jtj	|d
��q|j|�qW|j
jtj	|��dS(NRs
i����t(R;RR RR
R%tsplitRCRER.R
R(RRtblocksRMRRNttexttlines((s'/usr/lib64/python2.7/email/generator.pyt_handle_message_delivery_status�s	cCsrt�}|j|�}|j�}t|t�r^|j|jd�dt�|j�}n|jj	|�dS(NiR(
RR R;RRBRR
R%R
R(RRRRNR@((s'/usr/lib64/python2.7/email/generator.pyt_handle_messages	
(t__name__t
__module__t__doc__R	RRR
RR
RR"R!RAR0RRRTRZR[(((s'/usr/lib64/python2.7/email/generator.pyR
s					 		:		sD[Non-text (%(type)s) part of message
omitted, filename
%(filename)s]cBs)eZdZeddd�Zd�ZRS(s�Generates a text
representation of a message.

    Like the Generator base class, except that non-text parts are
substituted
    with a format string representing the part.
    iNcCs;tj||||�|dkr.t|_n	||_dS(s�Like
Generator.__init__() except that an additional optional
        argument is allowed.

        Walks through all subparts of a message.  If the subpart is of main
        type `text', then it prints the decoded payload of the
subpart.

        Otherwise, fmt is a format string that is used instead of the
message
        payload.  fmt is expanded with the following keywords (in
        %(keyword)s format):

        type       : Full MIME type of the non-text part
        maintype   : Main MIME type of the non-text part
        subtype    : Sub-MIME type of the non-text part
        filename   : Filename of the non-text part
        description: Description associated with the non-text part
        encoding   : Content transfer encoding of the non-text part

        The default value for fmt is None, meaning

        [Non-text (%(type)s) part of message omitted, filename
%(filename)s]
       
N(RRR$t_FMTt_fmt(RRRRtfmt((s'/usr/lib64/python2.7/email/generator.pyR/scCs�x�|j�D]�}|j�}|dkrD||jdt�IJq
|dkrSq
||ji|j�d6|j�d6|j�d6|jd�d6|jd	d
�d6|jdd
�d6IJq
WdS(NRXtdecodet	multipartR>tmaintypetsubtypes
[no
filename]tfilenamesContent-Descriptions[no
description]tdescriptionsContent-Transfer-Encodings
[no
encoding]tencoding(	twalkR+R;R	R`tget_content_typeR,tget_filenametget(RRRMRd((s'/usr/lib64/python2.7/email/generator.pyR"Ks



	
	N(R\R]R^R	R$RR"(((s'/usr/lib64/python2.7/email/generator.pyR)sis%%0%ddcCs�tjtj�}d	t|d}|dkr4|S|}d}xatr�tjdtj	|�dtj
�}|j|�s�Pn|dt|�}|d7}qCW|S(
Nt=is==is^--s(--)?$t.is===============(
trandomt	randrangetsystmaxintR`R$R	tretcompiletescapet	MULTILINEtsearchR(RXttokenROtbtcountertcre((s'/usr/lib64/python2.7/email/generator.pyRFes	&(R^t__all__RsRqRRotwarningst	cStringIORtemail.headerRR-RERtRvR?RRR_RtlentreprRrt_widthR`R$RF(((s'/usr/lib64/python2.7/email/generator.pyt<module>s&	
�9