ok

Mini Shell

Direktori : /opt/alt/python33/lib/python3.3/site-packages/pip/
Upload File :
Current File : //opt/alt/python33/lib/python3.3/site-packages/pip/index.pyo

�
�2{Yc@s�dZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZddl
mZmZmZmZmZddlmZmZddlmZmZmZddlmZmZdd	lmZmZm Z dd
l!m"Z"m#Z#m$Z$ddl%m&Z&dgZ'd
Z(idgd6Z)de*fd��YZ+de*fd��YZ,de*fd��YZ-de*fd��YZ.e.e	�Z/d�Z0d�Z1dS(s!Routines related to PyPI, indexesi����N(tlogger(tInftnormalize_nametsplitextt
is_prerelease(tDistributionNotFoundtBestVersionAlreadyInstalledtInstallationErrortInvalidWheelFilenametUnsupportedWheel(turlparseturl2pathname(t
PipSessionturl_to_pathtpath_to_url(tWheelt	wheel_ext(tsupported_tagstsupported_tags_noarchtget_platform(thtml5libtrequestst
pkg_resources(tSSLErrort
PackageFinderslast.pypi.python.orgthttpsthttpcBs�eZdZeggeeedd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd�Z
ejd	�Zejd
ej�Zejd�Zd�Zd
�Zd�Zd�Zd�Zd�ZRS(s�This finds packages.

    This is meant to match easy_install's technique for looking for
    packages, by reading pages and looking for appropriate links
    c

Cs�||_||_g|_t�|_t�|_||_td�|D��|_td�|D��|_	|j|j	O_||_
t|_t|_
||_||_t|_|	p�t�|_dS(Ncss|]}t|�VqdS(N(R(t.0tn((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pys	<genexpr>4scss|]}t|�VqdS(N(R(RR((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pys	<genexpr>8s(t
find_linkst
index_urlstdependency_linkst	PageCachetcachetsettlogged_linkst	use_wheeltallow_externaltallow_unverifiedtallow_all_externaltFalsetneed_warn_externaltneed_warn_unverifiedtallow_all_prereleasestprocess_dependency_linkst_have_warned_dependency_linksRtsession(
tselfRRR$R%R&R'R+R,R.((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt__init__&s"										cCsE|jrA|js.tjdd�t|_n|jj|�ndS(Ns1.6spDependency Links processing has been deprecated with an accelerated time schedule and will be removed in pip 1.6(R,R-Rt
deprecatedtTrueRtextend(R/tlinks((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pytadd_dependency_linksSs		c	sGg�g���fd�}x|D]}tjj|�}|jd�}||jk}|sg|r,|rv|}nt|�}|r�tjj|�r�tjj|�}xztj|�D]}|tjj	||��q�Wq9|r
tjj|�r
�j
|�q9tjj|�r9||�q9q%�j
|�q%W��fS(st
        Sort locations into "files" (archives) and "urls", and return
        a pair of lists (files,urls)
        csLt|�}tj|dt�ddkr;�j|�n
�j|�dS(Ntstrictis	text/html(Rt	mimetypest
guess_typeR(tappend(tpathturl(tfilesturls(s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt	sort_pathkssfile:(tosR:texistst
startswithRR
tisdirtrealpathtlistdirtjoinR9tisfile(	R/t	locationsR>R;t
is_local_pathtis_file_urltis_find_linkR:titem((R<R=s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt_sort_locationsbs*
	 cCs�|\}}}|jr�tt�}|tkr9d}nW|jtkr�t|j�}|j�syt	d|j��n|j
�}n|}||fS|SdS(sL
        Function used to generate link sort key for link tuples.
        The greater the return value, the more preferred it is.
        If not finding wheels, then sorted by version only.
        If finding wheels, then the sort order is by version, then:
          1. existing installs
          2. wheels ordered via Wheel.support_index_min()
          3. source archives
        Note: it was considered to embed this logic into the Link
              comparison operators, but then different sdist links
              with the same version, would have to be considered equal
        isB%s is not a supported wheel for this platform. It can't be sorted.N(R$tlenRtINSTALLED_VERSIONtextRRtfilenamet	supportedR	tsupport_index_min(R/t
link_tupletparsed_versiontlinkt_tsupport_numtpritwheel((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt_link_sort_key�s
		
cCst|d|jdt�S(s�
        Bring the latest version (and wheels) to the front, but maintain the existing ordering as secondary.
        See the docstring for `_link_sort_key` for details.
        This function is isolated for easier unit testing.
        tkeytreverse(tsortedRZR2(R/tapplicable_versions((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt_sort_versions�scs��fd�}|j�d}|jr�t||jd�dt�}|j||�}|dkr�|jt|jddt��|�p�|j�q�n�dk	r�g|jD]}||�^q�|j}nt|j�}xH|j	D]=}�dk	r�|dk	r�t
j|j|�g|}q�q�W|j
|�\}	}
|j
|j�\}}|	j|�g|
D]}t|dt�^qn}|jg|D]}t|�^q��tjd|�x�|D]�}
tjd|
�tjt|
��}|jtkr�t|j}t|�dkrT|
|j|d|jf}tjd|�q�t|�dkr�|
|jdj|�|jf}tjd	|�q�|
|jf}tjd
|�q�q�Wg}|j|jg|jD]}t|ddt�^q�|jj���g}xy|j||�D]e}tjd|j�tjd
7_z)|j|j|j|jj���Wdtjd
8_Xq(Wt|jg|jD]}t|�^q�|jj���}|rtjddjg|D]\}}}|j^q���nt|jg|	D]}t|�^q |jj���}|r�|r�|r�|r�tj d|�|j!r�tjd|j�n|j"r�tjd|j�nt#d|��ng}|j$dk	r|j$j%t&|j$j'fg}n|rX|j(dt�tjddjg|D]\}}}t)|j�^q,��n|||||}g}x�|D]�\}}}||j*kr�tjd||djg|j*j+D]}dj|�^q��f�q{nKt,|�r/|j-p�|j.r/|t&k	r/tjd||f�q{q/n|j/|||f�q{W|j0|�}t1g|D]!\}}}|t&krb|^qb�}|r�|r�|ddt&kr�tjd|j$j'�n%tjd|j$j'|dd
f�dS|s~tj d|djg|D]\}}}|^q�f�|j!rKtjd�n|j"rktjd|j�nt#d|��n|ddt&kr�tjd|j$j'djg|dD]\}}}|^q��p�df�t2�nt|�dkr@tjd |dd
djg|D]\}}}|^q�f�n|dd}|j3dk	r~|j3r~tjd!|j�n|j4dk	r�|j4r�tjd"|j�n|j5r�tj6d#d$|j�n|S(%Ncs2tj|��}|jd�s.|d}n|S(Nt/(t	posixpathREtendswith(R;tloc(turl_name(s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pytmkurl_pypi_url�s
ittrusteds#URLs to search for versions for %s:s* %sisS%s uses an insecure transport scheme (%s). Consider using %s if %s has it availables, sc%s uses an insecure transport scheme (%s). Consider using one of %s if %s has any of them availables*%s uses an insecure transport scheme (%s).s-fsAnalyzing links from page %sisdependency_links found: %ss<Could not find any downloads that satisfy the requirement %ssMSome externally hosted files were ignored (use --allow-external %s to allow).sWSome insecure and unverifiable files were ignored (use --allow-unverified %s to allow).s$No distributions at all found for %sR\sLocal files found: %ss-Ignoring link %s, version %s doesn't match %st,tsCIgnoring link %s, version %s is a pre-release (use --pre to allow).sLExisting installed version (%s) is most up-to-date and satisfies requirementsUExisting installed version (%s) satisfies requirement (most up-to-date version is %s)sNCould not find a version that satisfies the requirement %s (from versions: %s)sJSome externally hosted files were ignored (use --allow-external to allow).s,No distributions matching the version for %ss=Installed version (%s) is most up-to-date (past versions: %s)tnones)Using version %s (newest of versions: %s)s2%s an externally hosted file and may be unreliables,%s is potentially insecure and unverifiable.s1.7sa%s discovered using a deprecated method of parsing, in the future it will no longer be discovered(7RdtNoneRtLinkR2t	_get_paget_find_url_nameRtlisttabsolute_versionsRaRER;RLRR3RtdebugR
tstrtschemetINSECURE_SCHEMESRMtnetloctwarnt_package_versionstnametlowert
_get_pagestindentR4tinfotfatalR)R*Rtsatisfied_byRTRNtversiontsortR
treqtspecsRR+tprereleasesR9R_tboolRtinternalt
verifiablet_deprecated_regexR1(R/R�tupgradeRetmain_index_urltpageR;RGR~tfile_locationst
url_locationst_flocationst_ulocationstlocationtparsedtsecure_schemestctxtfound_versionst
page_versionstdependency_versionsRUt
file_versionstinstalled_versiontall_versionsR^RTtstexisting_applicabletselected_version((Rds:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pytfind_requirement�s�
		7)#
%&

			;)	4<	1				!B	<	4
			3				C		>
	
		cCs�|jjd�s$|jd7_n|j||�}|dkrWtjd|�dSt|j�}xY|jD]N}t	j
|jjd��}|t|�krptj
d||f�|SqpWdS(s�Finds the true URL name of a package, when the given name isn't quite correct.
        This is usually used to implement case-insensitivity.R`sCannot fetch index base URL %sNs!Real name of requirement %s is %s(R;RbRlRjRR|RRdR4RatbasenameR:trstriptnotify(R/t	index_urlRdR�R�t	norm_nameRUtbase((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyRmbsc	cs7t|�}t�}x|r2|jd�}||kr?qn|j|�|j||�}|dkrpqn|Vx�|j�D]�}t|j�j	�}||j
kr�|jr�t|_
tjd|�q�n|jdk	r|jr||jkrtjd|�t|_q�n|j|�q�WqWdS(s�
        Yields (page, page_url) from the given locations, skipping
        locations that have errors, and adding download/homepage links
        is@Not searching %s for files because external urls are disallowed.s_Not searching %s for urls, it is an untrusted link and cannot produce safe or verifiable files.N(RnR"tpoptaddRlRjt	rel_linksRRwRxR%R'R2R)RRpRfR&R*R9(	R/RGR�t
all_locationstseenR�R�RUt
normalized((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyRyus6		

		
		s#egg=([^&]*)s([a-z0-9_.]+)-([a-z0-9_.-]+)s-py([123]\.?[0-9]?)$cCsqgg}}t�}xP|D]H}||kr|j|�|jrU|j|�qe|j|�qqW||S(sgReturns elements of links in order, non-egg links first, egg links second, while eliminating duplicates(R"R�tegg_fragmentR9(R/R4teggstno_eggsR�RU((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt_sort_links�s
	

	ccs@x9|j|�D](}x|j||�D]}|Vq)WqWdS(N(R�t_link_package_versions(R/R4tsearch_nameRUtv((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyRv�scCsd}|jr|tfS|S(Ns.tar.gzs.tar.bz2s.tars.tgzs.zip(s.tar.gzs.tar.bz2s.tars.tgzs.zip(R$R(R/t
extensions((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt_known_extensions�s	c
Cs�t�}d}|jr$|j}nD|j�\}}|ss||jkrotjd|�|jj|�ngS|jd�r�|d }d|}n||j	�kr�||jkr�tjd||f�|jj|�ngSd|j
kr:|dkr:||jkr6tjd|�|jj|�ngS|tkrhyt|j
�}Wn#tk
r~tjd|�gSX|jj�|j�kr�tjd	||f�gS|j�s�tjd
|�gSt|dd�}|jd�r\|jd
�r\|dk	r\tj|j�jjd�r\|jdt�s\tjd|�gSn|j}n|s�|j|||�}n|dkr�tjd	||f�gS|jdk	r	|jr	t|�j�|jkr	|jr	tjd|�t|_gS|j dk	r[|j r[t|�j�|j!kr[tjd|�t|_"gS|j#j$|�}	|	r�||	j%� }|	j&d�}
|
t'jd kr�tjd|�gSntjd||f�t(j)|�||fgS(s�
        Return an iterable of triples (pkg_resources_version_key,
        link, python_version) that can be extracted from the given
        link.

        Meant to be overridden by subclasses, not called by clients.
        sSkipping link %s; not a files.tari����s,Skipping link %s; unknown archive format: %stmacosx10s.zipsSkipping link %s; macosx10 ones1Skipping %s because the wheel filename is invalids-Skipping link %s; wrong project name (not %s)s9Skipping %s because it is not compatible with this Pythont
comes_fromtwintmacosxspypi.python.orgttagssOSkipping %s because it is a pypi-hosted binary Wheel on an unsupported platforms,Skipping %s because it is externally hosted.s<Skipping %s because it is an insecure and unverifiable file.iis/Skipping %s because Python version is incorrectsFound link %s, version: %sN(*RRjR�RR#RRpR�RbR�R:RRRPRRwRxRQtgetattrRAR
R;RtRR~t_egg_info_matchesR�RR%R'R2R)R�R&R*t_py_version_retsearchtstarttgrouptsysRt
parse_version(R/RUR�tplatformR~tegg_infoRORYR�tmatcht
py_version((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR��s�		


	

	
		cCs�|jj|�}|s-tjd|�dS|jd�j�}|jdd�}|j�d}|j|�r�|jd�t	|�SdSdS(Ns%Could not parse version from link: %siRVt-(
t_egg_info_reR�RRpRjR�RxtreplaceRARM(R/R�R�RUR�Rwtlook_for((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR�&scCs"tj||d|jd|j�S(NR!R.(tHTMLPagetget_pageR!R.(R/RUR�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyRl5s	N(t__name__t
__module__t__doc__R2R(RjR0R5RLRZR_R�RmRytretcompilet_egg_fragment_retIR�R�R�RvR�R�R�Rl(((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyRs(	*		(			�		)	
			l	R cBsVeZdZdZd�Zd�Zd�Zd�Zed�Z	d�Z
d�ZRS(	sCache of HTML pagesicCsi|_i|_i|_dS(N(t	_failurest_pagest	_archives(R/((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR0As		cCs|jj|d�|jkS(Ni(R�tgett
failure_limit(R/R;((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyttoo_many_failuresFscCs|jj|�S(N(R�R�(R/R;((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR�IscCs|jj|t�S(N(R�R�R((R/R;((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt
is_archiveLscCs||j|<dS(N(R�(R/R;tvalue((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pytset_is_archiveOscCs$|jj|d�||j|<dS(Ni(R�R�(R/R;tlevel((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pytadd_page_failureRscCs"x|D]}||j|<qWdS(N(R�(R/R=R�R;((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pytadd_pageUs
(R�R�R�R�R0R�R�R�R2R�R�R�(((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR <s					R�cBseZdZejdej�Zejdej�ZejdejejB�Z	ddd�Zd�Ze
dedd��Zedddd��Zedd	��Zed
��Zed��Zed��Zd
�Zdd�Zd�Zejdej�Zd�ZRS(s'Represents one page, along with its URLs<th>\s*home\s*pages<th>\s*download\s+urls(href=(?:"([^"]*)"|'([^']*)'|([^>\s\n]*))cCsC||_tj|jdt�|_||_||_||_dS(NtnamespaceHTMLElements(tcontentRtparseR(R�R;theadersRf(R/R�R;R�Rf((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR0bs
			cCs|jS(N(R;(R/((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt__str__iscCs%|dkrt�}n|j}|jdd�d}|j|�rJdSddlm}xT|jD]I}|j�j	|�rd|t
|�dkrdtjdt
��dSqdW|dk	r�|j|�}	|	dk	r�|	Sny|r�|dk	r
|j|�r
dSn|j}
x�dd	d
ddgD]}}|
j|�r)|j|d
|�}|j�j	d�rlPq�tjd||f�|dk	r�|j|�ndSq)q)Wntjd|�tj|�\}}
}}}}|dkrEtjjt|��rE|jd�s|d7}ntj|d�}tjd|�n|j|didd6�}|j�|jjdd�}|j�j	d�s�tjd||f�|dk	r�|j|�ndS||j|j|jd|j�}	Wntj k
rI}|j!j"dkrdnd}|j#||||d|d|�n�tj$k
r~}|j#||d||d|�n�tj%k
r�|j#||d|d|�ntt&k
r�}d |}|j#||||d|ddd!tj'�n-X|dk	r|j(||jg|	�n|	SdS("Nt#iii����(t
VcsSupports+:s&Cannot look at %(scheme)s URL %(link)ss.tars.tar.gzs.tar.bz2s.tgzs.zipR.s	text/htmls,Skipping page %s because of Content-Type: %ssGetting page %stfileR`s
index.htmls# file: URL is directory, getting %sR�tAcceptsContent-TypetunknownRfi�iR!R�sconnection error: %ss	timed outs6There was a problem confirming the ssl certificate: %stmeth()RjRR;tsplitR�tpip.vcsR�tschemesRxRARMRRptlocalsR�R�RPRbt_get_content_typeR�R
R?R:RBRturljoinR�traise_for_statusR�ttextRfRt	HTTPErrortresponsetstatus_codet_handle_failtConnectionErrortTimeoutRR�R�(tclsRUR�R!t
skip_archivesR.R;R�RrtinstRPtbad_exttcontent_typeRtR:tparamstquerytfragmenttresptexcR�treason((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR�ls�	+		!$

		(%
icCsb|dkrtj}n|d||�|d|j|f�|dk	r^|j||�ndS(NsCould not fetch URL %s: %ss7Will skip URL %s when looking for download links for %s(RjRR{R;R�(R�RUR�R;R!R�R�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR��scCsx|dkrt�}ntj|�\}}}}}|d	krFdS|j|dt�}|j�|jjdd�S(
s;Get the Content-Type of the given url, using a HEAD requestRRtftptftpsRhtallow_redirectssContent-TypeN(RRR�R(	RjRR
turlsplittheadR2R�R�R�(R;R.RrRtR:R�R�R�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR��s
cCs�t|d�s�d}g|jjd�D]*}|jdd�j�dkr(|^q(}|r�y t|djdd��}Wq�ttfk
r�d}q�Xn||_	n|j	S(Nt_api_versions.//metaRwRhsapi-versioniR�(
thasattrRjR�tfindallR�Rxtintt	TypeErrort
ValueErrorR(R/Rtxtmetas((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pytapi_version�s* 
cCsgt|d�s`|jjd�}|dk	rQ|jd�rQ|jd�|_q`|j|_n|jS(Nt	_base_urls.//basethref(RR�tfindRjR�R
R;(R/R�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pytbase_url�sccs�x�|jjd�D]�}|jd�r|jd�}|jtj|j|��}d}|jr�|jdkr�t	|jd�o�d|jd�j
�k�}nt||d|�VqqWdS(sYields all links in the pages.//aRitrelR�N(R�RR�t
clean_linkR
R�RRjRR�R�Rk(R/tanchorRR;R�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR4�s!ccs<x|j�D]}|Vq
Wx|j�D]}|Vq)WdS(N(texplicit_rel_linkstscraped_rel_links(R/R;((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR�s	thomepagetdownloadccs�t|�}x�|jjd�D]�}|jd�r|jd�rt|jd�j��}||@r�|jd�}|jtj|j|��}t	||dt
�Vq�qqWdS(s)Yields all links with the given relationss.//aRRRfN(R"R�RR�R�RR
R�RRkR((R/trelsRt
found_relsRR;((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyRs
c
cs�x�|j|jfD]�}|j|j�}|s7qn|jj|jd|j��}|sdqn|jd�p�|jd�p�|jd�}|s�qn|jtj	|j
|��}t||dtdt
�VqWdS(NtposiiiRfR�(t_homepage_ret_download_reR�R�t_href_retendR�RR
R�RRkR(R2(R/tregexR�t
href_matchR;((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR&s!-s[^a-z0-9$&+,/:;=?@.#%_\\|-]cCs|jjd�|�S(s�Makes sure a link is fully encoded.  That is, if a ' ' shows up in
        the link, it will be rewritten to %20 (while not over-quoting
        % or other characters).cSsdt|jd��S(Ns%%%2xi(tordR�(R�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt<lambda><s(t	_clean_retsub(R/R;((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR7s	N(RR(R�R�R�R�R�R�RRtSRRjR0R�tclassmethodR2R�tstaticmethodR�R�tpropertyRRR4R�RRR#R(((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR�Zs(	[
		RkcBs+eZddded�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
ed
��Zed��Zed��Zd
�Zed��Zed��Zejd�Zed��Zejd�Zed��Zed��Zed��Zed��ZRS(cCs1||_||_||_||_||_dS(N(R;R�R�RfR�(R/R;R�R�RfR�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR0As
				cCs.|jrd|j|jfSt|j�SdS(Ns%s (from %s)(R�R;Rq(R/((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR�Is	cCsd|S(Ns	<Link %s>((R/((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt__repr__OscCs|j|jkS(N(R;(R/tother((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt__eq__RscCs|j|jkS(N(R;(R/R*((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt__ne__UscCs|j|jkS(N(R;(R/R*((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt__lt__XscCs|j|jkS(N(R;(R/R*((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt__le__[scCs|j|jkS(N(R;(R/R*((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt__gt__^scCs|j|jkS(N(R;(R/R*((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt__ge__ascCs
t|j�S(N(thashR;(R/((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt__hash__dscCsCtj|j�\}}}}}tj|jd��p<|}|S(NR`(R
RR;RaR�R�(R/RVRtR:Rw((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyRPgs!cCstj|j�dS(Ni(R
RR;(R/((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyRrnscCstj|j�dS(Ni(R
RR;(R/((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR:rscCsttj|jjd���S(NR`(RRaR�R:R�(R/((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyRvscCs|j�dS(Ni(R(R/((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyROyscCs=tj|j�\}}}}}tj||||df�S(N(R
RR;t
urlunsplitRj(R/RrRtR:R�R�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyturl_without_fragment}s!s#egg=([^&]*)cCs,|jj|j�}|sdS|jd�S(Ni(R�R�R;RjR�(R/R�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR��ss2(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)cCs,|jj|j�}|r(|jd�SdS(Ni(t_hash_reR�R;R�Rj(R/R�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR1�s
cCs,|jj|j�}|r(|jd�SdS(Ni(R5R�R;R�Rj(R/R�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt	hash_name�s
cCs0tj|jjdd�djdd�d�S(NR�iit?(RaR�R;R�(R/((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pytshow_url�scCs�|jpt|jdd�}|dk	r�|r�y%t|jdd�}t|�}Wnttfk
rtd}nX|dks�|dkr�dS|jr�tSt	Sn|dk	r�t	SdS(s�
        Returns True if this link can be verified after download, False if it
        cannot, and None if we cannot determine.
        RfRiN(
RfR�R�RjRR	RR1R2R((R/RfR((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR��s
	N(R�R�RjR(R0R�R)R+R,R-R.R/R0R2R(RPRrR:RROR4R�R�R�R�R5R1R6R8R�(((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyRk?s0											cCs;t|�}|j}|s1t|j�d}nt|�S(sPGet a requirement from the URL, if possible.  This looks for #egg
    in the URLi(RkR�RRPtpackage_to_requirement(R;RUR�((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pytget_requirement_from_url�s
	cCsatjd|�}|r9|jd�}|jd�}n|}d}|rYd||fS|SdS(s)Translate a name like Foo-1.2 to Foo==1.3s^(.*?)-(dev|\d.*)iiRhs%s==%sN(R�R�R�(tpackage_nameR�RwR~((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyR9�s(2R�R�R?R�R7Ratpip.logRtpip.utilRRRRtpip.exceptionsRRRRR	tpip.backwardcompatR
Rtpip.downloadRR
Rt	pip.wheelRRtpip.pep425tagsRRRtpip._vendorRRRtpip._vendor.requests.exceptionsRt__all__tDEFAULT_MIRROR_HOSTNAMERstobjectRR R�RkRNR:R9(((s:/opt/alt/python33/lib/python3.3/site-packages/pip/index.pyt<module>s6"(	
����	

Zerion Mini Shell 1.0