Viewing File: /opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyc

ó
“tÆ_c@s’dZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZddl
mZddlmZmZmZdd	lmZmZmZdd
lmZerddlmZmZddlmZdd
lmZddlm Z nej!e"ƒZ#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)de*fd„ƒYZ+de*fd„ƒYZ,dS(s)Download files with progress indicators.
iÿÿÿÿN(tCONTENT_CHUNK_SIZE(tDownloadProgressProvider(tNetworkConnectionError(tPyPI(t
is_from_cache(tHEADERStraise_for_statustresponse_chunks(tformat_sizetredact_auth_from_urltsplitext(tMYPY_CHECK_RUNNING(tIterabletOptional(tResponse(tLink(t
PipSessioncCs7yt|jdƒSWntttfk
r2dSXdS(Nscontent-length(tinttheaderst
ValueErrortKeyErrort	TypeErrortNone(tresp((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyt_get_http_response_size%scCst|ƒ}|jtjkr*|j}n	|j}t|ƒ}|r`dj|t|ƒƒ}nt	|ƒrt
jd|ƒnt
jd|ƒt
jƒt
jkr­t}n?t	|ƒrÂt}n*|sÑt}n|dkræt}nt}t|tƒ}|s|St|d|ƒ|ƒS(Ns{} ({})sUsing cached %ssDownloading %si(iètmaxi@œ(RtnetlocRtfile_storage_domaintshow_urlturl_without_fragmentR	tformatRRtloggertinfotgetEffectiveLeveltloggingtINFOtFalsetTrueRRR(Rtlinktprogress_barttotal_lengthturlt
logged_urlt
show_progresstchunks((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyt_prepare_download-s2					cCstjj|ƒS(sJ
    Sanitize the "filename" value from a Content-Disposition header.
    (tostpathtbasename(tfilename((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pytsanitize_content_filenameYscCsCtj|ƒ\}}|jdƒ}|r9t|ƒ}n|pB|S(sƒ
    Parse the "filename" value from a Content-Disposition header, and
    return the default filename if the result is empty.
    R1(tcgitparse_headertgetR2(tcontent_dispositiontdefault_filenamet_typetparamsR1((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pytparse_content_dispositionas
cCsÉ|j}|jjdƒ}|r3t||ƒ}nt|ƒd}|s}tj|jjddƒƒ}|r}||7}q}n|rÅ|j|jkrÅtj	j|jƒd}|rÅ||7}qÅn|S(soGet an ideal filename from the given HTTP response, falling back to
    the link filename if not provided.
    scontent-dispositioniscontent-typet(
R1RR5R:R
t	mimetypestguess_extensionR)R.R/(RR&R1R6text((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyt_get_http_response_filenameps	cCsB|jjddƒd}|j|dtdtƒ}t|ƒ|S(Nt#iiRtstream(R)tsplitR5RR%R(tsessionR&t
target_urlR((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyt_http_get_downloadˆs
tDownloadcBseZd„ZRS(cCs||_||_||_dS(N(tresponseR1R,(tselfRGR1R,((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyt__init__‘s		(t__name__t
__module__RI(((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyRFst
DownloadercBseZd„Zd„ZRS(cCs||_||_dS(N(t_sessiont
_progress_bar(RHRCR'((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyRIžs	cCs…yt|j|ƒ}WnDtk
r\}|jdk	s=t‚tjd|jj|ƒ‚nXt	|t
||ƒt|||jƒƒS(NsHTTP error %s while getting %s(
RERMRRGRtAssertionErrorRtcriticaltstatus_codeRFR?R-RN(RHR&Rte((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyt__call__§s(RJRKRIRS(((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyRLs		(-t__doc__R3R"R<R.tpip._vendor.requests.modelsRtpip._internal.cli.progress_barsRtpip._internal.exceptionsRtpip._internal.models.indexRtpip._internal.network.cacheRtpip._internal.network.utilsRRRtpip._internal.utils.miscRR	R
tpip._internal.utils.typingRttypingRR
Rtpip._internal.models.linkRtpip._internal.network.sessionRt	getLoggerRJRRR-R2R:R?REtobjectRFRL(((sO/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/network/download.pyt<module>s4		,				
Back to Directory File Manager