MINI MINI MANI MO

Path : /usr/lib64/python3.6/email/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/email/__pycache__/headerregistry.cpython-36.opt-2.pyc

3


 \O@sfddlmZddlmZddlmZddlmZGdddZGdddZGd	d
d
e	Z
ddZGd
ddZGdddeZ
GdddZGdddeZGdddZGdddeZGdddeZGdddeZGdddZGdd d ZGd!d"d"eZGd#d$d$eZGd%d&d&Ze
eeeeeeeeeeeeeeeeeed'ZGd(d)d)Zd*S)+)MappingProxyType)utils)errors)_header_value_parserc@s^eZdZdddZeddZeddZed	d
ZeddZd
dZ	ddZ
ddZdS)AddressNcCsl|dk	rV|s|rtdtj|\}}|r:tdj|||jrJ|jd|j}|j}||_||_	||_
dS)Nz=addrspec specified when username and/or domain also specifiedz6Invalid addr_spec; only '{}' could be parsed from '{}'r)	TypeErrorparserZ
get_addr_spec
ValueErrorformatall_defects
local_partdomain
_display_name	_username_domain)selfdisplay_nameusernamer	addr_specZa_srestr,/usr/lib64/python3.6/email/headerregistry.py__init__s

zAddress.__init__cCs|jS)N)r)rrrrr7szAddress.display_namecCs|jS)N)r)rrrrr;szAddress.usernamecCs|jS)N)r)rrrrr?szAddress.domaincCsTt|j}t|t|tjkr.tj|j}n|j}|jrH|d|jS|sPdS|S)N@z<>)setrlenr	Z
DOT_ATOM_ENDSquote_stringr)rnamesetZlprrrrCs
zAddress.addr_speccCsdj|jj|j|j|jS)Nz1{}(display_name={!r}, username={!r}, domain={!r}))r	__class____name__rrr)rrrr__repr__SszAddress.__repr__cCs^t|j}t|t|tjkr.tj|j}n|j}|rX|jdkrFdn|j}dj||S|jS)Nz<>rz{} <{}>)rrrr	SPECIALSrrr)rrdisprrrr__str__Xs
zAddress.__str__cCs8t|t|krdS|j|jko6|j|jko6|j|jkS)NF)typerrr)rotherrrr__eq__cs
zAddress.__eq__)rrrN)r 
__module____qualname__rpropertyrrrrr!r$r'rrrrrs
%rc@sFeZdZdddZeddZeddZdd	Zd
dZdd
Z	dS)GroupNcCs||_|rt|nt|_dS)N)rtuple
_addresses)rr	addressesrrrrmszGroup.__init__cCs|jS)N)r)rrrrrszGroup.display_namecCs|jS)N)r-)rrrrr.szGroup.addressescCsdj|jj|j|jS)Nz${}(display_name={!r}, addresses={!r})rrr rr.)rrrrr!szGroup.__repr__cCs|jdkr&t|jdkr&t|jdS|j}|dk	r\t|}t|t|tjkr\tj|}djdd|jD}|r~d|n|}dj	||S)Nrz, css|]}t|VqdS)N)str).0xrrr	<genexpr>sz Group.__str__.<locals>.<genexpr> z{}:{};)
rrr.r0rr	r"rjoinr)rr#rZadrstrrrrr$s
z
Group.__str__cCs,t|t|krdS|j|jko*|j|jkS)NF)r%rr.)rr&rrrr'szGroup.__eq__)NN)
r r(r)rr*rr.r!r$r'rrrrr+ks
r+c@sPeZdZddZddZeddZeddZd	d
Ze	ddZ
d
dZdS)
BaseHeadercCs\dgi}|j||tj|dr4tj|d|d<tj||d}|d=|j|f||S)Ndefectsdecoded)parserZ_has_surrogates	_sanitizer0__new__init)clsnamevaluekwdsrrrrr;szBaseHeader.__new__cCs||_||_||_dS)N)_name_parse_tree_defects)rr>
parse_treer7rrrr<szBaseHeader.initcCs|jS)N)rA)rrrrr>szBaseHeader.namecCs
t|jS)N)r,rC)rrrrr7szBaseHeader.defectscCst|jj|jjt|f|jfS)N)_reconstruct_headerrr 	__bases__r0__dict__)rrrr
__reduce__s
zBaseHeader.__reduce__cCstj||S)N)r0r;)r=r?rrr_reconstructszBaseHeader._reconstructcCs`tjtjtj|jdtjddgg}|jrH|jtjtjddg|j|j|j	|dS)Nzheader-name:z
header-sepr4Zfws)policy)
r	ZHeaderZHeaderLabelZ
ValueTerminalr>rBappendZCFWSListZWhiteSpaceTerminalfold)rrKheaderrrrrMszBaseHeader.foldN)r r(r)r;r<r*r>r7rHclassmethodrIrMrrrrr6s"

r6cCst||ij|S)N)r%rI)Zcls_namebasesr?rrrrEsrEc@s&eZdZdZeejZeddZ	dS)UnstructuredHeaderNcCs"|j||d<t|d|d<dS)NrDr8)value_parserr0)r=r?r@rrrr9szUnstructuredHeader.parse)
r r(r)	max_countstaticmethodr	get_unstructuredrRrOr9rrrrrQ	s
rQc@seZdZdZdS)UniqueUnstructuredHeaderr/N)r r(r)rSrrrrrVsrVcsBeZdZdZeejZeddZ	fddZ
eddZZ
S)
DateHeaderNcCsz|s6|djtjd|d<d|d<tj|d<dSt|trJtj|}||d<tj	|d|d<|j
|d|d<dS)Nr7datetimerr8rD)rLrZHeaderMissingRequiredValuer	Z	TokenList
isinstancer0rZparsedate_to_datetimeZformat_datetimerR)r=r?r@rrrr9)s

zDateHeader.parsecs|jd|_tj||dS)NrX)pop	_datetimesuperr<)rargskw)rrrr<7szDateHeader.initcCs|jS)N)r[)rrrrrX;szDateHeader.datetime)r r(r)rSrTr	rUrRrOr9r<r*rX
__classcell__rr)rrrWs

rWc@seZdZdZdS)UniqueDateHeaderr/N)r r(r)rSrrrrr`@sr`csPeZdZdZeddZeddZfddZe	dd	Z
e	d
dZZS)
AddressHeaderNcCstj|\}}|S)N)r	Zget_address_list)r?address_listrrrrRIszAddressHeader.value_parsercCst|trZ|j||d<}g}x,|jD]"}|jt|jdd|jDq(Wt|j	}n"t
|dsj|g}dd|D}g}||d<||d<djd	d|D|d
<d|kr|j|d
|d<dS)NrDcSs*g|]"}t|jpd|jpd|jp"dqS)r)rrr
r)r1Zmbrrr
<listcomp>Xsz'AddressHeader.parse.<locals>.<listcomp>__iter__cSs&g|]}t|dstd|gn|qS)r.N)hasattrr+)r1itemrrrrcasgroupsr7z, cSsg|]}t|qSr)r0)r1rfrrrrcgsr8)rYr0rRr.rLr+rZ
all_mailboxeslistrrer5)r=r?r@rbrgZaddrr7rrrr9Os$


zAddressHeader.parsecs(t|jd|_d|_tj||dS)Nrg)r,rZ_groupsr-r\r<)rr]r^)rrrr<kszAddressHeader.initcCs|jS)N)ri)rrrrrgpszAddressHeader.groupscCs&|jdkr tdd|jD|_|jS)NcSsg|]}|jD]}|qqSr)r.)r1groupaddressrrrrcwsz+AddressHeader.addresses.<locals>.<listcomp>)r-r,ri)rrrrr.ts
zAddressHeader.addresses)
r r(r)rSrTrRrOr9r<r*rgr.r_rr)rrraEsrac@seZdZdZdS)UniqueAddressHeaderr/N)r r(r)rSrrrrrl|srlc@seZdZeddZdS)SingleAddressHeadercCs(t|jdkrtdj|j|jdS)Nr/z9value of single address header {} is not a single addressr)rr.r
rr>)rrrrrks
zSingleAddressHeader.addressN)r r(r)r*rkrrrrrmsrmc@seZdZdZdS)UniqueSingleAddressHeaderr/N)r r(r)rSrrrrrnsrncsZeZdZdZeejZeddZ	fddZ
eddZedd	Z
ed
dZZS)MIMEVersionHeaderr/cCs|j||d<}t||d<|dj|j|jdkr<dn|j|d<|j|d<|jdk	rtdj|d|d|d<nd|d<dS)NrDr8r7majorminorz{}.{}version)rRr0extendrrqrpr)r=r?r@rDrrrr9s

zMIMEVersionHeader.parsecs6|jd|_|jd|_|jd|_tj||dS)Nrrrprq)rZ_version_major_minorr\r<)rr]r^)rrrr<szMIMEVersionHeader.initcCs|jS)N)ru)rrrrrpszMIMEVersionHeader.majorcCs|jS)N)rv)rrrrrqszMIMEVersionHeader.minorcCs|jS)N)rt)rrrrrrszMIMEVersionHeader.version)r r(r)rSrTr	Zparse_mime_versionrRrOr9r<r*rprqrrr_rr)rrros
rocs8eZdZdZeddZfddZeddZZ	S)ParameterizedMIMEHeaderr/cCsZ|j||d<}t||d<|dj|j|jdkrBi|d<ndd|jD|d<dS)NrDr8r7paramscSs&i|]\}}tj|tj|jqSr)rr:lower)r1r>r?rrr
<dictcomp>sz1ParameterizedMIMEHeader.parse.<locals>.<dictcomp>)rRr0rsrrx)r=r?r@rDrrrr9s

zParameterizedMIMEHeader.parsecs|jd|_tj||dS)Nrx)rZ_paramsr\r<)rr]r^)rrrr<szParameterizedMIMEHeader.initcCs
t|jS)N)rr{)rrrrrxszParameterizedMIMEHeader.params)
r r(r)rSrOr9r<r*rxr_rr)rrrws
rwcsJeZdZeejZfddZeddZ	eddZ
eddZZS)	ContentTypeHeadercs2tj||tj|jj|_tj|jj|_dS)N)	r\r<rr:rBmaintype	_maintypesubtype_subtype)rr]r^)rrrr<szContentTypeHeader.initcCs|jS)N)r~)rrrrr}szContentTypeHeader.maintypecCs|jS)N)r)rrrrrszContentTypeHeader.subtypecCs|jd|jS)N/)r}r)rrrrcontent_typeszContentTypeHeader.content_type)
r r(r)rTr	Zparse_content_type_headerrRr<r*r}rrr_rr)rrr|s

r|cs2eZdZeejZfddZeddZ	Z
S)ContentDispositionHeadercs2tj|||jj}|dkr"|ntj||_dS)N)r\r<rBcontent_dispositionrr:_content_disposition)rr]r^Zcd)rrrr<szContentDispositionHeader.initcCs|jS)N)r)rrrrrsz,ContentDispositionHeader.content_disposition)r r(r)rTr	Z parse_content_disposition_headerrRr<r*rr_rr)rrrs
rcsBeZdZdZeejZeddZ	fddZ
eddZZ
S)ContentTransferEncodingHeaderr/cCs2|j||d<}t||d<|dj|jdS)NrDr8r7)rRr0rsr)r=r?r@rDrrrr9sz#ContentTransferEncodingHeader.parsecs"tj||tj|jj|_dS)N)r\r<rr:rBcte_cte)rr]r^)rrrr<sz"ContentTransferEncodingHeader.initcCs|jS)N)r)rrrrrsz!ContentTransferEncodingHeader.cte)r r(r)rSrTr	Z&parse_content_transfer_encoding_headerrRrOr9r<r*rr_rr)rrrs

r)ZsubjectZdatezresent-datez	orig-dateZsenderz
resent-senderZtoz	resent-toZccz	resent-ccZbccz
resent-bccfromzresent-fromzreply-tozmime-versionzcontent-typezcontent-dispositionzcontent-transfer-encodingc@s4eZdZeedfddZddZddZdd	Zd
S)HeaderRegistryTcCs&i|_||_||_|r"|jjtdS)N)registry
base_class
default_classupdate_default_header_map)rrrZuse_default_maprrrr's
zHeaderRegistry.__init__cCs||j|j<dS)N)rry)rr>r=rrrmap_to_type9szHeaderRegistry.map_to_typecCs,|jj|j|j}td|j||jfiS)N_)rgetryrr%r r)rr>r=rrr__getitem__?szHeaderRegistry.__getitem__cCs||||S)Nr)rr>r?rrr__call__Cs
zHeaderRegistry.__call__N)	r r(r)r6rQrrrrrrrrr#s
rN)typesrZemailrrrr	rr+r0r6rErQrVrWr`rarlrmrnrorwr|rrrrrrrr<module>
sP[6d'7
%

OHA YOOOO