Viewing File: /opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyo

ó
“tÆ_c@s˜ddlZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZd„Zd„Z
defd	„ƒYZdS(
iÿÿÿÿN(tmsgpack(tCaseInsensitiveDicti(tHTTPResponsetpicklet	text_typecCstj|jdƒƒS(Ntascii(tbase64t	b64decodetencode(tb((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyt_b64_decode_bytesscCst|ƒjdƒS(Ntutf8(R
tdecode(ts((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyt_b64_decode_strst
SerializercBsSeZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
RS(	c	Cs]t|jƒ}|dkrB|jdtƒ}tj|ƒ|_nii|d6td„|jj	ƒDƒƒd6|j
d6|jd6t|j
ƒd6|jd6|jd	6d
6}i|d<d|kr;|djdƒ}xa|D]V}t|ƒjƒ}|jj|dƒ}|dk	r&t|ƒ}n||d|<qÞWndjd
tj|dtƒgƒS(Ntdecode_contentubodycss-|]#\}}t|ƒt|ƒfVqdS(N(R(t.0tktv((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pys	<genexpr>3suheadersustatusuversionureasonustrictudecode_contenturesponseuvaryt,scc=4tuse_bin_type(RtheaderstNonetreadtFalsetiotBytesIOt_fptdicttitemststatustversionRtreasontstrictRtsplittstriptgettjoinRtdumpstTrue(	tselftrequesttresponsetbodytresponse_headerstdatatvaried_headerstheadertheader_value((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyR's0	




cCsŸ|s
dSy|jddƒ\}}Wntk
r?d}nX|d dkrc||}d}n|jddƒdjdƒ}y#t|d	j|ƒƒ||ƒSWntk
r¹dSXdS(
NRiscc=0iscc=t=iÿÿÿÿRs
_loads_v{}(R#t
ValueErrorRtgetattrtformattAttributeError(R)R*R.tver((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pytloadsJs


	#
cCsd|jdiƒkrdSxE|jdiƒjƒD]+\}}|jj|dƒ|kr5dSq5W|djdƒ}td|ddƒ}|jdd	ƒd
kr¶|jdƒn||dd<ytj|ƒ}Wn)tk
rtj|j	dƒƒ}nXt
d|dt|dS(
s`Verify our vary headers match and construct a real urllib3
        HTTPResponse object.
        t*tvaryNR+R,R.Rstransfer-encodingttchunkedRtpreload_content(R%RRRtpopRRRt	TypeErrorRRR(R)R*tcachedR0tvaluetbody_rawRR,((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pytprepare_responsehs%
cCsdS(N((R)R*R.((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyt	_loads_v0ŽscCs8ytj|ƒ}Wntk
r'dSX|j||ƒS(N(RR8R3RC(R)R*R.R@((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyt	_loads_v1”s

cCsÛy%tjtj|ƒjdƒƒ}Wnttjfk
rBdSXt|ddƒ|dd<td„|ddj	ƒDƒƒ|dd<t
|ddƒ|dd<td„|dj	ƒDƒƒ|d<|j||ƒS(	NRR+R,css-|]#\}}t|ƒt|ƒfVqdS(N(R(RRR((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pys	<genexpr>¥sRR!css?|]5\}}t|ƒ|dk	r0t|ƒn|fVqdS(N(RR(RRR((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pys	<genexpr>ªsR:(tjsonR8tzlibt
decompressRR3terrorR
RRRRC(R)R*R.R@((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyt	_loads_v2œs%#cCsdS(N((R)R*R.((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyt	_loads_v3°scCs>ytj|dtƒ}Wntk
r-dSX|j||ƒS(Ntraw(RR8RR3RC(R)R*R.R@((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyt	_loads_v4¶s

N(t__name__t
__module__RR'R8RCRDRERJRKRM(((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyRs4		&				(RRRFRGtpip._vendorRtpip._vendor.requests.structuresRtcompatRRRR
RtobjectR(((sS/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/cachecontrol/serialize.pyt<module>s		
Back to Directory File Manager