Viewing File: /opt/alt/python35/lib64/python3.5/email/__pycache__/header.cpython-35.opt-2.pyc



]$^@sXdddgZddlZddlZddlZddlZddlmZddlmZ	e	j
Z
dZdZd	Z
dZdZdZd
Ze
dZe
dZejdejejBejBZejdZejdZejjZddZdddddZGdddZGdddZ Gddde!Z"dS)Header
decode_headermake_headerN)HeaderParseError)charset
  Nz 	zus-asciizutf-8ai
  =\?                   # literal =?
  (?P<charset>[^?]*?)   # non-greedy up to the next ? is the charset
  \?                    # literal ?
  (?P<encoding>[qb])    # either a "q" or a "b", case insensitive
  \?                    # literal ?
  (?P<encoded>.*?)      # non-greedy up to the next ?= is the encoded string
  \?=                   # literal ?=
  z[\041-\176]+:$z
\n[^ \t]+:cCst|dr#dd|jDStj|s?|dfgSg}x|jD]}tj|}d}x|r|jd}|r|j}d}|r|j|ddf|rp|jdj	}|jdj	}|jd}|j|||fqpWqRWg}	xkt
|D]]\}
}|
dkr)|dr)||
ddr)||
ddjr)|	j|
dq)Wxt|	D]
}||=qWg}
x|D]\}}}|dkr|
j||fq|d	krt
jj|}|
j||fq|d
krt|d}|rT|ddd|7}yt
jj|}Wn!tjk
rtd
YqX|
j||fqtd|qWg}d}}x|
D]\}}t|trt|d}|dkr|}|}q||krB|j||f|}|}q|dkr_|t|7}q||7}qW|j||f|S)N_chunkscSs:g|]0\}}tj|t|t|fqS)_charsetZ_encodestr).0stringrrr+/opt/alt/python35/lib64/python3.5/header.py
<listcomp>Ms	z!decode_header.<locals>.<listcomp>TrFqbz===zBase64 decoding errorzUnexpected encoding: zraw-unicode-escape)hasattrr
ecresearch
splitlinessplitpoplstripappendlower	enumerateisspacereversedemail
quoprimimeZ
header_decodelenZ
base64mimedecodebinasciiErrorrAssertionError
isinstancerbytesBSPACE)headerZwordslinepartsfirstZ	unencodedrencodingencodedZdroplistnwdZ
decoded_wordsZencoded_stringZwordZpaderrZ	collapsedZ	last_wordlast_charsetrrrr=sz	
	@
		cCsntd|d|d|}xL|D]D\}}|dk	rVt|trVt|}|j||q"W|S)N
maxlinelenheader_namecontinuation_ws)rr-Charsetr!)Zdecoded_seqr:r;r<hsrrrrrs	c@seZdZddddddddZddZdd	Zddd
dZdd
ZdddddZddZ	dS)rNrstrictcCs|dkrt}nt|ts0t|}||_||_g|_|dk	rj|j||||dkr|t}||_|dkrd|_	nt
|d|_	dS)Nrr)USASCIIr-r=r_continuation_wsr
r!
MAXLINELEN_maxlinelen
_headerlenr()selfr?rr:r;r<errorsrrr__init__s					zHeader.__init__c	Cs|jg}d}d}x|jD]\}}|}|tjkrk|jdd}|jdd}|r|o|j|d}|dkr|dkr|r|jtd}n |d	kr|r|jt|o|j|d
}|}|j|q&Wt	j
|S)Nasciisurrogateescapereplacerus-asciir)NrL)NrL)NrL)
_normalizer
rUNKNOWN8BITencoder)	_nonctextr!SPACEEMPTYSTRINGjoin)	rFZuchunkslastcs	lastspacerrZnextcsZoriginal_byteshasspacerrr__str__s*

	
zHeader.__str__cCs|t|kS)N)r)rFotherrrr__eq__sz
Header.__eq__cCs|dkr|j}nt|ts3t|}t|ts|jpNd}|tjkru|jdd}n|j||}|jpd}|tjkry|j||Wn't	k
r|dkrt
}YnX|jj||fdS)Nzus-asciirJ)
rr-r=rZinput_codecrOr)Zoutput_codecrPUnicodeEncodeErrorUTF8r
r!)rFr?rrGZ
input_charsetoutput_charsetrrrr!	s$
z
Header.appendcCs|jp|dkS)N()\)r^r_r`)r$)rFr?rrrrQ4szHeader._nonctextz;, 	rcCsD|j|dkr|j}|dkr1d}t|j||j|}d}d}}x|jD]\}}	|dk	r|o|j|d}|d	kr|s|	d
kr|jn|	dkr|r|j|o|j|d}|	}d}|j}
|
r1|j	d|
d|	n|j	dd|	x|
ddD]}|j
|	jdk	r|j	|jd|j|	qU|j}|dt
|t
|}
|j	|
||	qUWt
|
dkrf|j
qfW|jr
|j|j|}tj|r@tdj||S)
Nri@Bus-asciirFrrz8header value appears to contain an embedded header: {!r})Nra)Nra)NrarM)rNrD_ValueFormatterrErBr
rQadd_transitionrfeednewlineheader_encodingr r(_str_embeded_headerrrformat)rF
splitcharsr:linesep	formatterrUrWrVrrlinesr1ZslinefwsvaluerrrrP9sR!
	




 	
	z
Header.encodecCsg}d}g}xj|jD]_\}}||krD|j|q|dk	rl|jtj||f|g}|}qW|r|jtj||f||_dS)N)r
r!rRrT)rFchunksr9Z
last_chunkrrrrrrNs	
zHeader._normalize)
__name__
__module____qualname__rHrXrZr!rQrPrNrrrrrs- +Pc@s|eZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZdS)rbcCsF||_||_t||_||_g|_t||_dS)N)_maxlenrBr(_continuation_ws_len_splitchars_lines_Accumulator
_current_line)rFZ	headerlenmaxlenr<rjrrrrHs				z_ValueFormatter.__init__cCs|j|j|jS)N)rerTrw)rFrkrrrrgs
z_ValueFormatter._strcCs
|jtS)N)rgNL)rFrrrrXsz_ValueFormatter.__str__cCs|jj}|dkr+|jj|t|jdkr|jjrl|jdt|j7<n|jjt|j|jjdS)Nrrrr)rrrM)	ryrpushr(	is_onlywsrwrr!reset)rFZend_of_linerrrresz_ValueFormatter.newlinecCs|jjdddS)Nrr)ryr|)rFrrrrcsz_ValueFormatter.add_transitioncCs|jdkr)|j|||jdS|j||j}y|jd}Wntk
rldSYnX|dk	r|j||y|j}Wntk
rdSYnX|j|j	j
|j|x%|D]}|jj
|j|qWdS)Nr)rf_ascii_splitrvZheader_encode_lines_maxlengthsr
IndexError
_append_chunkreryr|rBrwr!)rFrnrrZ
encoded_linesZ
first_lineZ	last_liner1rrrrds$
	
	

z_ValueFormatter.feedccs/|jt|jVx|j|jVqWdS)N)rtr(ryru)rFrrrrsz_ValueFormatter._maxlengthscCstjdtd||}|dr>dg|dd<n
|jdx7tt|gdD]\}}|j||qeWdS)Nz([z]+)rrr)rerFWSrzipiterr)rFrnrrjr2partrrrrs

&z_ValueFormatter._ascii_splitcCs`|jj||t|j|jkr\x|jD]}xt|jjdddD]f}|jr|j|d}|r|d|krP|j|dd}|r[|d|kr[Pq[Wq5Pq5W|jj\}}|jj	dkr
|j
|s
d}|jj||dS|jj|}|jj
t|j|jj|dS)NrrrrMrM)ryr|r(rtrvrange
part_countr$r
_initial_sizerepop_fromrwr!rr~)rFrnrZchiZprevpartrZ	remainderrrrrs.&
z_ValueFormatter._append_chunkN)rqrrrsrHrgrXrercrdrrrrrrrrbs%rbcseZdZdfddZddZdddZfdd	Zd
dZdd
ZdddZ	ddZ
fddZS)rxrcs||_tjdS)N)rsuperrH)rFZinitial_size)	__class__rrrHs	z_Accumulator.__init__cCs|j||fdS)N)r!)rFrnrrrrr|#sz_Accumulator.pushcCs$||d}g||d<|S)Nr)rFrZpoppedrrrr&sz_Accumulator.pop_fromcs#|jdkrdStjS)Nrr)rr)rrr)rF)rrrr+sz_Accumulator.popcCstdd|D|jS)Ncss+|]!\}}t|t|VqdS)N)r()rrnrrrr	<genexpr>1sz'_Accumulator.__len__.<locals>.<genexpr>)sumr)rFrrr__len__0sz_Accumulator.__len__cCstjdd|DS)Ncss*|] \}}tj||fVqdS)N)rSrT)rrnrrrrr5sz'_Accumulator.__str__.<locals>.<genexpr>)rSrT)rFrrrrX4sz_Accumulator.__str__NcCs/|dkrg}||dd<d|_dS)Nr)r)rFZstartvalrrrr~8sz_Accumulator.resetcCs&|jdko%|p%t|jS)Nr)rrr$)rFrrrr}>sz_Accumulator.is_onlywscs
tjS)N)rr)rF)rrrrAsz_Accumulator.part_count)rqrrrsrHr|rrrrXr~r}rrr)rrrxsrxz        )#__all__rr*Zemail.quoprimimer&Zemail.base64mimeZemail.errorsrrrr=r{rRr/ZSPACE8rSrCrrAr\compileVERBOSE
IGNORECASE	MULTILINErZfcrerhr'Z_max_appendrrrrblistrxrrrr<module>s:		_
Back to Directory File Manager