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



]B0@sddddgZddlmZddlZddlZddlmZddlmZd	Z	d
Z
dZdZd
Z
dZdZde	e	dfde	e	dfde	e	dfde	e	dfde	e	dfde	e	dfde	e	dfde	e	dfde	e	dfde	e	dfde	e	dfde	e	dfd
dEde
e
dfde
e
dfde
ddfd e
ddfde
ddfd!e
e
dfd"ee
d"fiZd#dd$dd%dd&dd'dd(dd)dd*dd+dd,dd-dd.dd/dd0dd1dd2dd3dd4dd5dd6dd7d8d9dd:d;d<d
iZdd=dd>d
diZdddd?dZd@dZdAdZdBdCZGdDddZdS)FCharset	add_aliasadd_charset	add_codec)partialN)errors)encode_7or8bitzus-asciizunknown-8bitz
iso-8859-1z
iso-8859-2z
iso-8859-3z
iso-8859-4z
iso-8859-9ziso-8859-10ziso-8859-13ziso-8859-14ziso-8859-15ziso-8859-16zwindows-1252Zvisciibig5gb2312zeuc-jpziso-2022-jp	shift_jiszkoi8-rzutf-8latin_1zlatin-1Zlatin_2zlatin-2Zlatin_3zlatin-3Zlatin_4zlatin-4Zlatin_5zlatin-5Zlatin_6zlatin-6Zlatin_7zlatin-7Zlatin_8zlatin-8Zlatin_9zlatin-9Zlatin_10zlatin-10cp949zks_c_5601-1987euc_jpeuc_krzeuc-krasciieucgb2312_cnbig5_twcCs/|tkrtd|||ft|<dS)Nz!SHORTEST not allowed for body_enc)SHORTEST
ValueErrorCHARSETS)charsetZ
header_encZbody_encoutput_charsetr,/opt/alt/python35/lib64/python3.5/charset.pyrmscCs|t|<dS)N)ALIASES)aliasZ	canonicalrrrrscCs|t|<dS)N)	CODEC_MAP)rZ	codecnamerrrrscCs-|tkr|jddS|j|SdS)Nrsurrogateescape)UNKNOWN8BITencode)stringcodecrrr_encodesr'c@seZdZeddZddZeZddZddZd	d
Z	ddZ
d
dZddZddZ
dS)rc
Csy2t|tr"|jdnt|d}Wn!tk
rUtj|YnX|j}tj|||_	t
j|j	ttdf\}}}|s|j	}||_
||_tj|||_tj|j	|j	|_tj|j|j|_dS)Nr)
isinstancestrr$UnicodeErrorrZCharsetErrorlowerrget
input_charsetrrBASE64header_encoding
body_encodingrr!Zinput_codecoutput_codec)selfr-ZhencZbencconvrrr__init__s&
			zCharset.__init__cCs
|jjS)N)r-r+)r2rrr__str__szCharset.__str__cCst|t|jkS)N)r)r+)r2otherrrr__eq__szCharset.__eq__cCs.|jtkrdS|jtkr&dStSdS)Nzquoted-printablebase64)r0QPr.r)r2rrrget_body_encodings
zCharset.get_body_encodingcCs|jp|jS)N)rr-)r2rrrget_output_charsetszCharset.get_output_charsetcCsM|jpd}t||}|j|}|dkr=|S|j||S)Nzus-ascii)r1r'_get_encoder
header_encode)r2r%r&header_bytesencoder_modulerrrr=szCharset.header_encodecCs|jpd}t||}|j|}t|jd|}|j}t|t}g}	g}
t||}x|D]}|
j	|t
j|
}
|jt|
|}||kr|
j
|	r|
r|	j	dnC|	rdnd}t
j|
}t||}|	j	|||g}
t||}qWt
j|
}t||}|	j	|||	S)Nzus-asciir r
)r1r'r<rr=r;lenRFC2047_CHROME_LENnextappendEMPTYSTRINGjoin
header_lengthpop)r2r%Z
maxlengthsr&r>r?encoderrextralinesZcurrent_linemaxlen	characterZ	this_linelengthZ	separatorZjoined_linerrrheader_encode_lines,s6


	zCharset.header_encode_linescCs|jtkrtjS|jtkr,tjS|jtkr|tjj|}tjj|}||krrtjStjSndSdS)N)r/r.email
base64mimer9
quoprimimerrG)r2r>Zlen64Zlenqprrrr<js
zCharset._get_encodercCs|s
|S|jtkrJt|tr:|j|j}tjj|S|jt	krt|trz|j|j}|j
d}tjj|St|tr|j|jj
d}|SdS)Nlatin1r)r0r.r(r)r$rrPrQbody_encoder9decoderR)r2r%rrrrTys	zCharset.body_encodeN)__name__
__module____qualname__DEFAULT_CHARSETr4r5__repr__r7r:r;r=rOr<rTrrrrrs,!>)NNN)__all__	functoolsrZemail.base64mimerPZemail.quoprimimerZemail.encodersrr9r.rrBrYr#rErrr!rrrr'rrrrr<module>s		

Back to Directory File Manager