Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
contego / home / tvault / .virtenv / lib / python2.7 / site-packages / pip / download.pyc
Size: Mime:
ó
•èRc
@sÿddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZmZmZmZmZmZmZmZddlmZmZddlmZmZmZmZmZmZm Z m!Z!m"Z"ddl#m$Z$ddl%m&Z&ddl'm(Z(dd	d
ddd
dddddddg
Z)d„Z*dd„Z,ej-dej.ƒZ/ej-dej.ƒZ0dej1fd„ƒYZ2dej3fd„ƒYZ4de5fd„ƒYZ6e6ƒZ7d„Z8d „Z9ej-d!ej.ƒZ:ej-d"ej.ƒZ;d#„Z<d$„Z=d%„Z>d&„Z?e@d'„ZAd(„ZBd)„ZCd*„ZDd+„ZEd,„ZFd-„ZGd.„ZHd/„ZIdd0„ZJd1„ZKd2ejLfd3„ƒYZMdS(4iÿÿÿÿN(turllibturllib2thttplibturlparsetstring_typestget_http_message_paramtmatch_hostnametCertificateError(tInstallationErrortHashMismatch(	tsplitexttrmtreetformat_sizetdisplay_patht
backup_dirtask_path_existstunpack_filetcreate_download_cache_foldertcache_download(tvcs(tlogger(tdefault_cert_pathtget_file_contentturlopentis_urlturl_to_pathtpath_to_urltpath_to_url2tgeturltis_archive_filetunpack_vcs_linktunpack_file_urlt
is_vcs_urltis_file_urltunpack_http_urlcCs4tjƒ}|dkr'tjƒ}n |dkr‹dtjjtjjtjjf}tjjdkrÇdj	|tjjgƒ}qÇn<|dkr¦tjƒ}n!|dkrÁtjƒ}nd}ytj
ƒ}tjƒ}Wntk
rd}d}nXd	j	d
t
jd||fd||fgƒS(s,Return a string representing the user agent.tCPythontPyPys%s.%s.%stfinalttJythont
IronPythontUnknownt spip/%ss%s/%s(tplatformtpython_implementationtpython_versiontsystpypy_version_infotmajortminortmicrotreleaseleveltjointsystemtreleasetIOErrortpipt__version__(t_implementationt_implementation_versiontp_systemt	p_release((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pytbuild_user_agent!s.	!


c
CsÁtj|ƒ}|rW|jdƒjƒ}|dkrd|rd|jdƒrdtd||fƒ‚n|dkr|jddƒd}|jddƒ}tj	|ƒ}|r×|jdƒd|jddƒd}nt
j|ƒ}|jdƒrd|jdƒ}n|}qWt
|ƒ}t|jd	d
ƒ}t|ƒ|jƒj|ƒfSnyt|ƒ}|jƒ}Wn7tk
r¬tjƒd}	tdt|	ƒƒ‚nX|jƒ||fS(sGets the content of a file; it may be a filename, file: URL, or
    http: URL.  Returns (location, content).  Content is unicode.itfilethttps6Requirements file %s references URL %s, which is localt:s\t/t|tcharsetsutf-8s$Could not open requirements file: %s(t
_scheme_retsearchtgrouptlowert
startswithRtsplittreplacet_url_slash_drive_retmatchRtunquotetlstripRRtheadersRtreadtdecodetopenR7R.texc_infotstrtclose(
turlt
comes_fromRMtschemetpathtresptencodingtftcontentte((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR@s:*	"

s^(http|https|file):s/*([a-z])\|tVerifiedHTTPSConnectioncBseZdZd„ZRS(sP
    A connection that wraps connections with ssl certificate verification.
    c	CsBi|_t|dƒr1|jjd|jƒnt|dƒrY|jjd|jƒntj|j|jf|j}t	|ddƒr¢||_|jƒnt
jjddƒpºt}tj||j|jdtjd|ƒ|_yt|jjƒ|jƒWn4tk
r=|jjtjƒ|jjƒ‚nXdS(Nttimeouttsource_addresst_tunnel_hosttPIP_CERTR&t	cert_reqstca_certs(tconnection_kwargsthasattrtupdateRaRbtsockettcreate_connectionthosttporttgetattrtNonetsockt_tunneltostenvirontgetRtssltwrap_sockettkey_filet	cert_filet
CERT_REQUIREDRtgetpeercertRtshutdownt	SHUT_RDWRRV(tselfRpt	cert_path((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pytconnectls*	!	
			

(t__name__t
__module__t__doc__R(((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR`hstVerifiedHTTPSHandlercBs#eZdZed„Zd„ZRS(sC
    A HTTPSHandler that uses our own VerifiedHTTPSConnection.
    cCs||_tjj|ƒdS(N(tspecialized_conn_classRtHTTPSHandlert__init__(R}tconnection_class((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR†—s	cCs|j|j|ƒS(N(tdo_openR„(R}treq((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyt
https_openšs(R€RR‚R`R†RŠ(((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyRƒ“st	URLOpenercBsneZdZd„Zd„Zd„Zddd„Zd„Zde	d„Z
d„Zd	„Zdd
„Z
RS(sD
    pip's own URL helper that adds HTTP auth and proxy support
    cCstjƒ|_d|_dS(N(RtHTTPPasswordMgrWithDefaultRealmtpassmanRot
proxy_handler(R}((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR†¢scCs­|j|ƒ\}}}}|dkr”y|jd|ƒj|ƒ}Wq©tjk
rtjƒd}|jdkr~‚n|j	|ƒ}q©Xn|j	|||ƒ}|S(s²
        If the given url contains auth info or if a normal request gets a 401
        response, an attempt is made to fetch the resource using basic HTTP
        auth.

        RYii‘N(
textract_credentialsRot
get_openerRSRt	HTTPErrorR.RTtcodetget_response(R}RWtusernametpasswordRYtresponseR_((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyt__call__¦scCs2t|tƒr.tj|didd6ƒ}n|S(sŽ
        Wraps the URL to retrieve to protects against "creative"
        interpretation of the RFC: http://bugs.python.org/issue8732
        RPtidentitysAccept-encoding(t
isinstanceRRtRequest(R}RW((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pytget_requestºscCstj|ƒ\}}}}}|j|ƒ}	|jjd|ƒ\}
}|
dkrã|dkr|jrtjt	d|ƒƒ}tjt
j
dƒƒ}n|rÅ|rÅ|jjd|||ƒn|jjd|ƒ\}
}ntj
|jƒ}|j|d|ƒ}
|
j|	ƒS(s~
        does the dirty work of actually getting the rsponse object using urllib2
        and its HTTP auth builtins.
        s
User for %s: s
Password: RYN(RturlsplitR›Rtfind_user_passwordRot	promptingRtquotet	raw_inputtgetpasstadd_passwordRtHTTPBasicAuthHandlerRRS(R}RWR”R•RYtnetlocRZtquerytfragR‰tstored_usernametstored_passwordtauthhandlertopener((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR“ÃscOst|ƒ}|jr1|j|jtjgƒn|jdƒdkrtƒ}tj||Œ}xH|jD]+}t	|tj
ƒrk|jj|ƒqkqkWntj|Œ}g|jD]"}|dj
ƒdkr¶|^q¶}|jdtƒfƒ||_|S(sW
        Build an OpenerDirector instance based on the scheme and proxy option
        RYthttpsis
user-agents
User-agent(tlistRŽtextendRtCacheFTPHandlerRtRƒtbuild_openerthandlersR™tHTTPHandlertremovet
addheadersRHtappendR>(R}targstkwargst
https_handlertdirectorthandlertxRP((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyRÙs		2	R&cCsL||_|j|ƒ}|rHtji|d6|d6|d6ƒ|_ndS(s´
        Sets the proxy handler given the option passed on the command
        line.  If an empty string is passed it looks at the HTTP_PROXY
        environment variable.
        R@tftpR«N(Ržt	get_proxyRtProxyHandlerRŽ(R}tproxystrRžtproxy((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pytsetupós	cCsLd|krH|jddƒd}d|kr>|jddƒS|dfSdS(Nt@iiRA(NN(trsplitRJRo(R}R¤tuserinfo((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pytparse_credentialsþs
cCs%t|tjƒr*tj|jƒƒ}ntj|ƒ}|\}}}}}|j|ƒ\}}	|dkr|dd|fS|	dkrØ|jrØ|j	d|ddƒ}d||f}
t
jtj|
ƒƒ}	n|j	d||	fddƒ}tj
|||||fƒ}|||	|fS(s
        Extracts user/password from a url.

        Returns a tuple:
            (url-without-auth, username, password)
        s%s@R&isPassword for %s@%s: s%s:%s@N(R™RRšRRœtget_full_urlRÄRoRžRKRRŸR¡t
urlunsplit(R}RWtresultRYR¤RZR¥R¦R”R•tpromptt
target_url((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyRscCs½|stjjddƒ}n|rµd|kr®|jddƒ\}}d|kro|jddƒ\}}n.|}d||f}tjtj|ƒƒ}d|||fS|SndSdS(	sª
        Get the proxy given the option passed on the command line.
        If an empty string is passed it looks at the HTTP_PROXY
        environment variable.
        t
HTTP_PROXYR&RÁiRAsPassword for %s@%s: s%s:%s@%sN(RrRsRtRJRRŸR¡Ro(R}R¾t
user_passwordtserver_porttuserR•RÈ((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR¼#sN(R€RR‚R†R—R›RoR“RtTrueRÀRÄRR¼(((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR‹žs							cCsId|krtS|jddƒdjƒ}|ddddgtjkS(s)Returns true if the name looks like a URLRAiiR@R«R?R»(tFalseRJRHRtall_schemes(tnameRY((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR=scCs}|jdƒstd|ƒ‚|tdƒjdƒ}tj|ƒ}tj|ƒro|dd|d}n
d|}|S(s(
    Convert a file: URL to a path.
    sfile:s4You can only turn file: urls into filenames (not %r)RBiRAi(RItAssertionErrortlenRORRNt
_url_drive_reRM(RWRZ((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyREs

s	^([a-z]):s^([a-z])[:|]cCs„tjjtjj|ƒƒ}tj|ƒrF|dd|d}ntj|ƒ}|jtjj	dƒ}|j
dƒ}d|S(sI
    Convert a path to a file: URL.  The path will be made absolute.
    iRCiRBsfile:///(RrRZtnormcasetabspatht	_drive_reRMRRŸRKtsepRO(RZRW((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyRXscCsštjjtjj|ƒƒ}tjj|ƒ\}}|jtjjƒ}djg|D]}tj	|ƒ^qXƒ}|sŽ|j
dƒ}nd||S(sh
    Convert a path to a file: URL.  The path will be made absolute and have
    quoted path parts.
    RBsfile:///(RrRZtnormpathRÖt
splitdriveRJRØR4RRŸRO(RZtdrivetfilepathtpartRW((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyRes+cCsI|jƒ}|jddƒ\}}|jdƒr7|Sd||fSdS(s6
    Use instead of urllib.addinfourl.geturl(), which appears to have
    some issues with dropping the double slash for certain schemes
    (e.g. file://).  This implementation is probably over-eager, as it
    always restores '://' if it is missing, and it appears some url
    schemata aren't always followed by '//' after the colon, but as
    far as I know pip doesn't need any of those.
    The URI RFC can be found at: http://tools.ietf.org/html/rfc1630

    This function assumes that
        scheme:/foo/bar
    is the same as
        scheme:///foo/bar
    RAis//s%s://%sN(RRJRI(turllib2_respRWRYtrest((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyRss
cCs0d	}t|ƒdjƒ}||kr,tStS(
s9Return True if `name` is a considered as an archive file.s.zips.tar.gzs.tar.bz2s.tgzs.tars	.pybundles.whli(s.zips.tar.gzs.tar.bz2s.tgzs.tars	.pybundles.whl(R
RHRÎRÏ(RÑtarchivestext((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR‹scCs3t|ƒ}|r"|j|ƒn
|j|ƒdS(N(t_get_used_vcs_backendtexporttunpack(tlinktlocationt
only_downloadtvcs_backend((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR•scCs}t|jƒ}tj|ƒd}tjj|ƒrftjj|ƒrSt|ƒntj	||ƒnt
||||ƒdS(Ni(RRWt	mimetypest
guess_typeRrRZtisdirRtshutiltcopytreeR(RåRætsourcetcontent_type((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyRs
cCs=x6tjD]+}|j|jkr
||jƒ}|Sq
WdS(N(RtbackendsRYtschemesRW(RåtbackendRè((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyRâ©scCstt|ƒƒS(N(tboolRâ(Rå((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR °scCs|jjƒjdƒS(Nsfile:(RWRHRI(Rå((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR!´scCs©|jtj|jƒjkrQtjd|j||jfƒtd|ƒ‚n|jƒ|jkr¥tjd||jƒ|jfƒtd|j|fƒ‚ndS(NsPHash digest size of the package %d (%s) doesn't match the expected hash name %s!s!Hash name mismatch for package %ss?Hash of the package %s (%s) doesn't match the expected hash %s!sBad %s hash for package %s(	tdigest_sizethashlibtnewt	hash_nameRtfatalR	t	hexdigestthash(t
download_hashRå((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyt_check_hash¸s		cCs›ytj|jƒ}Wn2ttfk
rJtjd|j|fƒdSXt|dƒ}x0t	rŒ|j
dƒ}|s|Pn|j|ƒq]W|jƒ|S(Ns'Unsupported hash name %s for package %strbi(
RõRöR÷t
ValueErrort	TypeErrorRtwarnRoRSRÎRQRiRV(ttarget_fileRåRûtfptchunk((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyt_get_hash_from_fileÃs	
c
	Cst|dƒ}d}|jrn|jrnytj|jƒ}Wqntk
rjtjd|j|fƒqnXnyt	|j
ƒdƒ}Wn tttfk
rªd}nXd}|dkpÁ|}|j
}z|r|rütjd|t|ƒfƒq!tjd|ƒntjd	|ƒtj
d
|ƒxªtrÞ|jdƒ}	|	sTPn|t|	ƒ7}|r²|sŠtjdt|ƒƒq²tjd
d||t|ƒfƒn|dk	rÎ|j|	ƒn|j|	ƒq5W|jƒWd|r
tjdt|ƒƒnX|S(Ntwbs'Unsupported hash name %s for package %sscontent-lengthii(ièsDownloading %s (%s): sDownloading %s (unknown size): sDownloading %ssDownloading from URL %sis%ss	%3i%%  %sids
%s downloadedi@œ(RSRoRúR÷RõRöRþRRtinttinfotKeyErrorRÿtshow_urltstart_progressRtnotifyRÎRQRÓt
show_progressRitwriteRVtend_progress(
R[Råt
temp_locationRRûttotal_lengtht
downloadedRR	R((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyt
_download_urlÔsJ
!
	 	(cCs%t}tjj||jƒ}tjj|ƒrâtdt|ƒd	ƒ}|dkr^t}qâ|dkr‘t	j
dt|ƒƒtj|ƒqâ|dkrât|ƒ}t	j
dt|ƒt|ƒfƒt
j||ƒqân|r!t
j||ƒt	jd8_t	jdt|ƒƒndS(
Ns/The file %s exists. (i)gnore, (w)ipe, (b)ackup titwtbsDeleting %ssBacking up %s to %sisSaved %s(RRR(RÎRrRZR4tfilenametexistsRR
RÏRRR²RRìtmovetcopytindentR(RRæRïRåRtdownload_locationR–t	dest_file((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyt
_copy_files(		c
CsCtjddƒ}d}|jjddƒd}t}d}d}	d}
|rÀtjj|t	j
|dƒƒ}|d}	tjj|ƒo›tjj|	ƒ}tjj|ƒsÀt
|ƒqÀnd}|rtjj||jƒ}tjj|ƒsd}qn|rŸ|}tj|ƒd}tjd|ƒ|jrŸt||ƒ}
yt|
|ƒWqœtk
r˜tjd	|ƒd}tj|ƒd}qœXqŸn|rm|rmt|	ƒ}
|
jƒjƒ}WdQX|}tjd
|ƒ|jrm|jrmt||ƒ}
yt|
|ƒWqjtk
rftjd|ƒd}tj|ƒtj|	ƒt}qjXqmn|sÀt||ƒ}|jƒjddƒ}|j}|jƒjd
ƒ}|rët j!|ƒ\}}|jdƒpå|}nt"|ƒd}|s&tj#|ƒ}|r&||7}q&n|rt|jt$|ƒkrttjj"t$|ƒƒd}|rt||7}qtntjj||ƒ}t%|||ƒ}
|jrÀ|jrÀt|
|ƒqÀn|rã|rãt&||||ƒnt'||||ƒ|r|rt(|||ƒn|p|s2tj|ƒntj)|ƒdS(Ns-unpackspip-t#iiR&s
.content-typesFile was already downloaded %ss;Previously-downloaded file %s has bad hash, re-downloading.sUsing download cache from %ss,Cached file %s has bad hash, re-downloading.scontent-typescontent-dispositionR(*ttempfiletmkdtempRoRWRJRÏRrRZR4RRŸRRëRRRéRêRRRúRRüR	RtunlinkRSRQtstripR÷t_get_response_from_urlRRttcgitparse_headerR
tguess_extensionRRRRRtrmdir(RåRætdownload_cachetdownload_dirttemp_dirRRÉtalready_cachedt
cache_filetcache_content_type_fileRûtalready_downloadedRïRR[Rtcontent_dispositionttypetparamsRá((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR"s¢
	





	

cCs’yt|ƒ}Wn{tjk
rStjƒd}tjd|j|fƒ‚n;tk
rtjƒd}tjd||fƒ‚nX|S(NisHTTP error %s while getting %ssError %s while getting %s(	RRR‘R.RTRRøR’R7(RÉRåR[R_((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR#|s
tUrllib2HeadRequestcBseZd„ZRS(cCsdS(NtHEAD((R}((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyt
get_methodŒs(R€RR4(((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyR2‹s(NR$R¡RõRéRrR+treRìRjRuR.RR8tpip.backwardcompatRRRRRRRRtpip.exceptionsRR	tpip.utilR
RRR
RRRRRtpip.vcsRtpip.logRt
pip.locationsRt__all__R>RoRtcompiletIRERLtHTTPSConnectionR`R…RƒtobjectR‹RRRR×RÔRRRRRÏRRRâR R!RüRRRR"R#RšR2(((sA/home/tvault/.virtenv/lib/python2.7/site-packages/pip/download.pyt<module>sd:@		%+œ				
			
							.	c