MOON
Server: Apache/2.2.34 (Unix) mod_ssl/2.2.34 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 FrontPage/5.0.2.2635
System: Linux server.asjudinet.com 2.6.32-042stab141.3 #1 SMP Fri Nov 15 22:45:34 MSK 2019 i686
User: asjudine (504)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //proc/self/root/usr/lib/python2.4/site-packages/setuptools/package_index.pyo
m
k8Hc@sdZdkZdkZdkZdkZdkZdkZdkZdk	Z	dk
Z
dkTdkl
Z
dklZdklZdklZeidZeideiZeid	Zeid
eiiZdiZdd
ddgZdZdZedZ edZ!edZ"ee#edZ$eideiZ%dZ&dei'e(ddi)fZ*de+fdYZ,dZ-dZ.dZ/dS(s#PyPI and direct package downloadingN(t*(slog(sDistutilsError(smd5(s	translates^egg=([-A-Za-z0-9_.]+)$shref\s*=\s*['"]?([^'"> ]+)s<a href="([^"#]+)">([^<]+)</a>
\s+\(<a (?:title="MD5 hash"
\s+)href="[^?]+\?:action=show_md5&amp;digest=([0-9a-f]{32})">md5</a>\)s([-+.a-z0-9]{2,}):s.tar.gz .tar.bz2 .tar .zip .tgztPackageIndextdistros_for_urltparse_bdist_wininsttinterpret_distro_namecCs|i}d	\}}|idoP|ido|d }qx|iddo|dd!}|d }qxn||fS(
s=Return (base,pyversion) or (None,None) for possible .exe names.exes
.win32.exeis	.win32-pyiiiN(NN(tnametlowertNonetbasetpy_vertendswitht
startswith(RRRR	((t</usr/lib/python2.4/site-packages/setuptools/package_index.pyRs
cCspti|\}}}}}}ti	|i
dd}d|jo|i
dd\}}n||fS(Nt/it#i(turlparseturltschemetservertpatht
parameterstquerytfragmentturllib2tunquotetsplitR(RRRRRRRR((Rtegg_info_for_url*s
!
ccst|\}}xt|||D]
}|Vq%W|oNti|}|o4x1t	||i
d|dtD]
}|VqrWqndS(sEYield egg or source distribution objects that might be found at a URLit
precedenceN(RRRRtdistros_for_locationtmetadatatdisttEGG_FRAGMENTtmatchRtgroupt
CHECKOUT_DIST(RRRRRR ((RR0s"cCs|ido|d }n|ido'd|joti|||gSn|ido@t|\}}|dj	ot
||||tdSqnxCtD];}|i|o%|t| }t
|||SqqWgS(s:Yield egg or source distribution objects based on basenames.egg.zipis.eggt-s.exetwin32N(tbasenameR
tDistributiont
from_locationtlocationRRtwin_baseR	RRtBINARY_DISTt
EXTENSIONStexttlen(R(R%RR,R)R	((RR<s
!cCs"tt|tii||S(sEYield possible egg or source distribution objects based on a filenameN(Rtnormalize_pathtfilenametosRR%R(R/R((Rtdistros_for_filenameSsc	cs|id}|pPxMt|dD]7\}}t|djo|idodSq'q'Wnx`t	dt|dD]E}t
||di
|| di
||d|d|d	|VqWdS(
sGenerate alternative interpretations of a source distro name

    Note: if `location` is a filesystem filename, you should call
    ``pkg_resources.normalize_path()`` on it before passing it to this
    routine!
    R#iispy2.Nit
py_versionRtplatform(R%RtpartsR2t	enumeratetitpR-RtrangeR&R(RtjoinRR3(	R(R%RR2RR3R7R6R4((RRZs
#)s(<([^>]*\srel\s*=\s*['"]?([^'">]+)[^>]*)>ccs	xti|D]}|i\}}tti	|i
id}d|jp
d|jo7x4t
i|D]}ti||idVqsWqqWxdd	D]\}|i|}|djo:t
i||}|oti||idVqqqWdS(
sEFind rel="homepage" and rel="download" links in `page`, yielding URLst,thomepagetdownloadis
<th>Home Pages<th>Download URLiN(s
<th>Home Pages<th>Download URL(tRELtfinditertpageR tgroupsttagtreltmaptstrtstripRRtrelstHREFRturljoinRR!tfindtpostsearch(RR?RBRJRFRAR ((Rtfind_external_linkss !%
sPython-urllib/%s setuptools/%st
setuptoolsicBs4tZdZdd dZedZedZedZdZdZ	e
d	Zd
Ze
dZ
dZd
ZdZdZdZeeedZeedZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!RS(!s;A distribution index that scans web pages for download URLsshttp://www.python.org/pypiRcOs}ti||||d|id |_h|_h|_h|_	t
idit
t|i|_g|_dS(NR
t|(tEnvironmentt__init__tselftargstkwt	index_urlR
tscanned_urlstfetched_urlst
package_pagestretcompileR9RCt	translatethostsR tallowstto_scan(RQRTR[RRRS((RRPs			'c	Cs||ijo|odSnt|i|<t|p|i|dSnFtt|}|o,|i
|pdSn|id|n|p|p||ijot
|i|dSn|i
|pt|i|<dSn|id||i|}t|i|<|i|i<d|iiddijo|idSn|i}|i}|i|i|io/t|dddjo|i||}nx?ti|D].}t!i"||i#d	}|i%|qWdS(
s<Evaluate a URL as a possible download, and maybe retrieve itNsFound link: %ss
Reading %sthtmlscontent-typettcodeii(&RRQRUtretrievetTruet
URL_SCHEMEtprocess_filenametlistRtdiststurl_oktdebugRVRCtaddtinfotopen_urltftheaderstgetRtcloseRtreadR?RRTtgetattrRt
process_indexRGR>R RRHR!tlinktprocess_url(	RQRRaRlR?RRsRfR ((RRtsB



"
	
,cCstii|p|id|dSntii|oW|oOtii|}x:ti	|D]%}|itii||t
qhWnt|}|o$|id|t|i|ndS(Ns
Not found: %ss	Found: %s(R0RtexiststfnRQtwarntisdirtnestedtrealpathtlistdirtitemRdR9RbR1RfRhRCRi(RQRvRyR|RfR((RRds'cCsZ|iti|dotSnd}|ot||n|i||dS(Nis,
Link to % s ***BLOCKED*** by --allow-hosts
(	RQR\RRRbtmsgtfataltDistutilsErrorRw(RQRR~R}((RRgsc
sd}x6ti|D]%}	|ti||	idqW||\}}|ox~t||D]m}t
|\}}|ido8|o0|o|d||f7}qi|ni|qnWtid|SndSdS(s#Process the contents of a PyPI pagecs|iiotti|tiid}t|djojd|djoYt
|d}t|d}tii|ih|<t|t|fSqndS(NR
iRii(NN(RsRRQRTRCRRR-RR4t	safe_nametpkgtsafe_versiontverRbRWt
setdefaultRtto_filenameR(RsRR4R(RQ(Rtscans($is.pys
#egg=%s-%scCsd|idddS(Ns<a href="%s#md5=%s">%s</a>iii(tmR!(R((Rt<lambda>sR_N(RRGR>R?R RRHRR!RRRLtnew_urlRRtfragR
RQtneed_version_infotscan_urltPYPI_MD5tsub(
RQRR?RRRRRRR ((RQRRrs"#cCs|id|dS(NsPPage at %s links to .py file(s) without version info; an index scan is required.(RQtscan_allR(RQR((RR s	cGsS|i|ijo,|o|i||n|idn|i|idS(Ns6Scanning index of all packages (this may take a while)(RQRTRVR}RwRRRjR(RQR}RR((RR&s
cCs|i|i|id|ii|ip|i|i|idn|ii|ip|i	|nx3t
|ii|ifD]}|i|qWdS(NR
(RQRRTtrequirementtunsafe_nameRWRntkeytproject_nametnot_found_in_indexReR(RQRR((Rt
find_packages.scCsp|i|i|x=||iD].}||jo|Sn|id||q%Wtt|i	||S(Ns%s does not match %s(RQtprescanRRRRRhtsuperRtobtaint	installer(RQRRR((RR=s
cCs}tid|of|id||i|djo;|i	t
i|tdt
i
i|dqyndS(Nsmd5=[0-9a-f]{32}$sValidating md5 checksum for %sisMD5 validation failed for s; possible download problem?(RXR RjRQRhR/tcst	hexdigestttfpRoR0tunlinkRRR%(RQRRjR/R((Rt	check_md5Is

cCswxp|D]h}|idjp1t|p#|idptt|o|i	|q|ii
|qWdS(s;Add `urls` to the list that will be prescanned for searchessfile:N(turlsRRQR]RRcRReRRtappend(RQRR((Rtadd_find_linksTsAcCs.|iot|i|ind|_dS(s7Scan urls scheduled for prescanning (e.g. --find-links)N(RQR]RCRR(RQ((RRcs
cCsP||io|id}}n|id}}|||i|idS(Ns#Couldn't retrieve index page for %rs3Couldn't find index page for %r (maybe misspelled?)(	RQRRRjtmethR}RwRR(RQRR}R((RRis
cCst|tpt|}|oa|i|id||}t
|\}}|i
do|i|||}n|Sqtii|o|Sqyti|}Wqtj
otd|fqXnt|i||ddS(sLocate and/or download `spec` to `tmpdir`, returning a local path

        `spec` may be a ``Requirement`` object, or a string containing a URL,
        an existing local filename, or a project/version requirement spec
        (i.e. the string form of a ``Requirement`` object).  If it is the URL
        of a .py file with an unambiguous ``#egg=name-version`` tag (i.e., one
        that escapes ``-`` as ``_`` throughout), a trivial ``setup.py`` is
        automatically created alongside the downloaded file.

        If `spec` is a ``Requirement`` object or a string containing a
        project/version requirement spec, this method returns the location of
        a matching distribution (possibly after downloading it to `tmpdir`).
        If `spec` is a locally existing file or directory name, it is simply
        returned unchanged.  If `spec` is a URL, it is downloaded to a subpath
        of `tmpdir`, and the local filename is returned.  Various errors may be
        raised if a problem occurs during downloading.
        is.pys1Not a URL, existing file, or requirement spec: %rR(N(t
isinstancetspectRequirementRcRRQt
_download_urlR!ttmpdirtfoundRRRR
t	gen_setupR0RRutparset
ValueErrorRRqtfetch_distributionR(RQRRRRRR((RR<rs c		sid|hd}|oii|n||}|djo*i
dj	oi||}n|djo%|oi|||}n|djo%idodpd|n|S(s|Obtain a distribution suitable for fulfilling `requirement`

        `requirement` must be a ``pkg_resources.Requirement`` instance.
        If necessary, or if the `force_scan` flag is set, the requirement is
        searched for in the (online) package index as well as the locally
        installed packages.  If a distribution matching `requirement` is found,
        the returned distribution's ``location`` is the value you would have
        gotten from calling the ``download()`` method with the matching
        distribution's URL or filename.  If no matching distribution is found,
        ``None`` is returned.

        If the `source` flag is set, only source distributions and source
        checkout links will be considered.  Unless the `develop_ok` flag is
        set, development and system eggs (i.e., those using the ``.egg-info``
        format) will be ignored.
        sSearching for %scsx|iD]}|itjo:o2|joid|d|<qqn||joK|it	jpo3id||idi
|iSqqWdS(Ns&Skipping development or system egg: %sisBest match: %sR((RQtreqRRRtDEVELOP_DISTt
develop_oktskippedRwtSOURCE_DISTtsourceRjtcloneR<R(R(RR(RRRQRR(RRIs
%s2No local packages or download links found for %s%ssa source distribution of R_N(
RQRjRRRIt
force_scanRRRRR]RwR(	RQRRRRRRRRI((RQRRRRRRs&



	cCs4|i||||}|dj	o|iSndS(s3Obtain a file suitable for fulfilling `requirement`

        DEPRECATED; use the ``fetch_distribution()`` method now instead.  For
        backward compatibility, this routine is identical but returns the
        ``location`` of the downloaded distribution instead of a distribution
        object.
        N(	RQRRRRRRRR((RQRRRRR((Rtfetchs

cCsti|}|oEg}t||iddD]}|i	o||q6q6~pg}	t|	djoti
i|}ti
i||joPti
i||}dkl}|||pti|||}qntti
i|dd}
|
id|	di|	di	ti
i|df|
i|Sn.|otd||	fn
tddS(	Ni(ssamefilessetup.pytwsIfrom setuptools import setup
setup(name=%r, version=%r, py_modules=[%r])
isCan't unambiguously interpret project/version identifier %r; any dashes in the name or version should be escaped using underscores. %rspCan't process plain .py files without an '#egg=name-version' suffix to enable automatic setup script generation.(RR Rt_[1]RR/R!RtdtversionRfR-R0RR%tdirnameRR9tdsttsetuptools.command.easy_installtsamefiletshutiltcopy2topentfiletwriteRtsplitextRoR(RQR/RRRRRRR RfRR%((RRs"R
8
i cCs|id|d
\}}
}zqd|jo|idd\}}n|i|}t|t	i
o#td||i|i
fnt}	|i}d}|i}d}d|jo-t|d}|i|||||nt|d	}
xdto\|i|}|oA|	i||
i||d7}|i|||||qPqW|o|i|	|||
n|SWd|o|in|
o|
inXdS(NsDownloading %sRisCan't download %s: %s %siiscontent-lengthsContent-Lengthtwb(NNN( RQRjRRtfpRRRkRRt	HTTPErrorRR`R}tmd5RRmtblocknumtdl_blocksizetbstsizetintt
reporthookR/RRbRptblocktupdateRRRo(RQRR/RRjRRRmRRRR((Rt_download_tosD
#		



cCsdS(N((RQRR/RtblksizeR((RR;scCsy|idot|Snyt|SWnFtij
o
}|Sn,tij
o}td|i	nXdS(Nsfile:sDownload error: %s(
RRt
local_opentopen_with_authRRtvtURLErrorRtreason(RQRR((RRk?scCs&tdti|did}|oA|d}x:d|jo"|iddidd}q9Wnd}|id	o|d
 }nti	i
||}|djp|ido|i||SnL|d
jotiti|dSn!|i|t|i||SdS(NiR
is..t.s\t_t__downloaded__s.egg.zipitsvnssvn+R(tfilterRRRRRtreplaceR
R0RR9RR/RRRQt
_download_svnRturl2pathnameRgRbt_attempt_download(RQRRRRR/((RRIs %

'
cCs|i|tdS(N(RQRtRRb(RQR((RRcscCsH|i||}d|dijo|i|||Sn|SdS(NR^scontent-type(RQRRR/RmRt_download_html(RQRR/Rm((RRhscCst|}x^|D]V}|ioCtid|o+|iti	||i||SnPqqW|iti	|t
d|dS(Ns<title>Revision \d+:sUnexpected HTML page found at (RR/RtlineRERXRKRoR0RRQRRR(RQRRmR/RR((RRos


	

cCsD|iddd}|id||tid||f|S(NRiis'Doing subversion checkout from %s to %sssvn checkout -q %s %s(RRRQRjR/R0tsystem(RQRR/((RR~scGsti||dS(N(tlogRhR}RR(RQR}RR((RRhscGsti||dS(N(RRjR}RR(RQR}RR((RRjscGsti||dS(N(RRwR}RR(RQR}RR((RRws(R("t__name__t
__module__t__doc__RPtFalseRtRdRgRrRRRRRRRRRR<RRRRRRRkRRRRRRhRjRw(((RRs<
)	)								)>	)	$		
							cCs]ti|\}}}}}}	|djoti	|\}}
nd}|ofdti
|idi}ti||
||||	f}ti|}|id|nti|}|idtti|}|ojti|i\}}}}}
}||jo5||
jo(ti|||||
|f|_qYn|S(	s4Open a urllib2 request, handling HTTP authenticationthttpthttpssBasic tbase64t
Authorizations
User-AgentN(RR(RRRtnetlocRtparamsRRRt	splitusertauththostRRtencodeREt
urlunparseRtRequesttrequestt
add_headert
user_agentturlopenRts2th2tpath2tparam2tquery2tfrag2(RRRRRRRRRRRRRRRRRR((RRs$!
"!$,cCs|S(N(R(R((Rt
fix_sf_urlsc
Csyti|\}}}
}}	}ti	|
}tii|oti
|Sn|
idotii|og}xti|D]}|djo)ttii||di}Pn1tiitii||o|d7}n|id||fqWd|ddi|}d\}}nd\}}}ti|||hd
d<ti|S(s7Read a local path, with special support for directoriesR
s
index.htmltrbs<a href=%r>%s</a>s<html><head><title>%s</title>s</head><body>%s</body></html>s
itOKisPath not founds	Not foundscontent-types	text/htmlN(iR(isPath not founds	Not found(RRRRRtparamRRRRR/R0tisfileRR
RxtfilesR{RlRR9RptbodyRtstatustmessageRt	cStringIOtStringIO(
RRRRlRR/RRRRRRR((RRs(!#
$"(0Rtsystos.pathR0RXRRRtrandomtsocketRt
pkg_resourcest	distutilsRtdistutils.errorsRRtfnmatchRZRYRtIRGRR RcRR+t__all__RRRRRR1RRR=RLt__version__trequireRRRORRRR( RRRGR=RRRLRRRRRRRXR+RZRRRRRR	R1RRRRRcRRRR0((Rt?s4Q



		"	 	)