Viewing File: /usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyc


b-Qc@sxdZddlZddlZddlZddlmZddlTddlmZddl	m
Z
ddlmZddl
mZdd	lmZdd
lmZmZmZmZmZmZmZmZddl	mZdefd
YZdefdYZde
fdYZdZdZdZ dZ!dZ"dZ#e$dZ%dZ&dZ'dS(sUsetuptools.command.egg_info

Create a distribution's .egg-info directory and contentsiN(tCommand(t*(tlog(tsdist(t
basestring(tconvert_path(tFileList(tparse_requirementst	safe_namet
parse_versiontsafe_versiontyield_linest
EntryPointtiter_entry_pointstto_filename(twalk_revctrltegg_infocBseZdZdd d!d"d#d$gZddgZidd
6dd6ZdZdZdZe	dZ
dZdZdZ
dZdZedZdZdZRS(%s+create a distribution's .egg-info directorys	egg-base=tesLdirectory containing .egg-info directories (default: top of the source tree)stag-svn-revisiontrs,Add subversion revision ID to version numberstag-datetds0Add date stamp (e.g. 20050528) to version numbers
tag-build=tbs-Specify explicit tag to add to version numbersno-svn-revisiontRs*Don't add subversion revision ID [default]sno-datetDs"Don't include date stamp [default]cCsUd|_d|_d|_d|_d|_d|_d|_t|_	d|_
dS(Ni(tNonetegg_nametegg_versiontegg_baseRt	tag_buildttag_svn_revisionttag_datetFalsetbroken_egg_infotvtags(tself((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytinitialize_options+s								cCsCddlm}||iidd6dd6|jd6d6dS(Ni(tedit_configiRRRR(tsetuptools.command.setoptR#ttags(R!tfilenameR#((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytsave_version_info6s
cCst|jj|_|j|_|j|_y$tt	d|j|jfWn-t
k
rtd|j|jfnX|jdkr|jj}|pijdtj|_n|jdt|jd|_|jtjkrtjj|j|j|_nd|jkr8|jn|j|jj_|jj}|dk	r|j|jjkr|j|_t|j|_d|j_ndS(Ns%s==%ss2Invalid distribution name or version syntax: %s-%stRs	.egg-infot-( Rtdistributiontget_nameRR%R ttagged_versionRtlistRt
ValueErrortDistutilsOptionErrorRRtpackage_dirtgettostcurdirtensure_dirnameRRtpathtjointcheck_broken_egg_infotmetadatatversiont
_patched_disttkeytlowert_versionR	t_parsed_version(R!tdirstpd((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytfinalize_optionsTs2!
!
!
$cCsl|r|j|||nLtjj|rh|dkrX|rXtjd||dS|j|ndS(sWrite `data` to `filename` or delete if empty

        If `data` is non-empty, this routine is the same as ``write_file()``.
        If `data` is empty but not ``None``, this is the same as calling
        ``delete_file(filename)`.  If `data` is ``None``, then this is a no-op
        unless `filename` exists, in which case a warning is issued about the
        orphaned file (if `force` is false), or deleted (if `force` is true).
        s$%s not set in setup(), but %s existsN(t
write_fileR2R5texistsRRtwarntdelete_file(R!twhatR&tdatatforce((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytwrite_or_delete_file}s	
cCsjtjd||tjdkr4|jd}n|jsft|d}|j||jndS(sWrite `data` to `filename` (if not a dry run) after announcing it

        `what` is used in a log message to identify what is being written
        to the file.
        swriting %s to %sisutf-8twbN(i(	Rtinfotsystversion_infotencodetdry_runtopentwritetclose(R!RFR&RGtf((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRBs	
cCs-tjd||js)tj|ndS(s8Delete `filename` (if not a dry run) after announcing itsdeleting %sN(RRKROR2tunlink(R!R&((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyREs	cCsE|jj}|jr4|j|jr4t|St||jS(N(R*tget_versionR tendswithR
(R!R9((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR,s
cCs|j|j|jj}xNtdD]@}|jd|}|||jtjj	|j|jq)Wtjj	|jd}tjj
|r|j|n|jdS(Nsegg_info.writerst	installersnative_libs.txt(
tmkpathRR*tfetch_build_eggR
tloadtnameR2R5R6RCREtfind_sources(R!RWteptwritertnl((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytruns,cCsd}|jr||j7}n|jrctjjdsLtjjdrc|d|j7}n|jrddl}||jd7}n|S(NR(s.svnsPKG-INFOs-r%sis-%Y%m%d(	RRR2R5RCtget_svn_revisionRttimetstrftime(R!R9Rb((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR%s		$	cCs?d}tjd}tjd}xtjtjD]\}}}d|kr_g|(q7n|jdttjj|dd}|j	}|j
|jdr|j|j
d}tg|j|D]}	t|	j
d^qdg}
nyt|jd}Wn
d}nX|d	kr[tjd
|g|(q7ntttj|jd}|dd=|dd}tg|D]2}t|d
kr|d
rt|d
^qdg}
|tjkr|d}
n|j|
sg|(q7nt||
}q7Wt|p;tS(Nis
url="([^"]+)"scommitted-rev="(\d+)"s.svntentriess<?xmliiis-unrecognized .svn/entries format; skipping %ss

ii	t/(tretcompileR2twalkR3tremoveRPR5R6treadRRt
startswithtsearchtgrouptmaxtfinditertintt
splitlinesRRDR-tmaptstrtsplittlentget_pkg_info_revision(trevisionturlretrevretbaseR?tfilesRSRGtdirurltmtlocalrevtsvnverRtbase_url((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRasB"

A
!L
cCsJtjj|jd}t|j}||_|j|j|_dS(s"Generate SOURCES.txt manifest filesSOURCES.txtN(	R2R5R6Rtmanifest_makerR*tmanifestR`tfilelist(R!tmanifest_filenametmm((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR\s
	
cCs|jd}|jtjkr:tjj|j|}ntjj|rtjddddd||j	|j	|_
||_	ndS(Ns	.egg-infoR)iNs
Note: Your current .egg-info directory has a '-' in its name;
this will not work correctly with "setup.py develop".

Please rename %s to %s to correct this problem.
(RRR2R3R5R6RCRRDRR(R!tbei((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR7s

(s	egg-base=RsLdirectory containing .egg-info directories (default: top of the source tree)(stag-svn-revisionRs,Add subversion revision ID to version number(stag-dateRs0Add date stamp (e.g. 20050528) to version number(s
tag-build=Rs-Specify explicit tag to add to version number(sno-svn-revisionRs*Don't add subversion revision ID [default](sno-dateRs"Don't include date stamp [default](t__name__t
__module__tdescriptiontuser_optionstboolean_optionstnegative_optR"R'RARRIRBRER,R`R%tstaticmethodRaR\R7(((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRs0	

			)					*	RcBseZdZdZRS(s@File list that accepts only existing, platform-independent pathscCs|jdr|d }nt|}tjdkryDtjj|sgtjj|jdrz|jj	|nWqt
k
rtjj|jdr|jj	|qtjd|tj
qXn%tjj|r|jj	|ndS(Ns
iisutf-8s!'%s' not %s encodable -- skipping(i(RVRRLRMR2R5RCRNR{tappendtUnicodeEncodeErrorRRDtgetfilesystemencoding(R!titemR5((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRs
-
(RRt__doc__R(((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRsRcBsMeZdZdZdZdZdZdZdZdZ	RS(sMANIFEST.incCs(d|_d|_d|_d|_dS(Ni(tuse_defaultstprunet
manifest_onlytforce_manifest(R!((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR"9s			cCsdS(N((R!((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRA?scCst|_tjj|js.|jn|jj|jtjj|j	rg|j
n|j|jj|jj
|jdS(N(RRR2R5RCRtwrite_manifesttfindalltadd_defaultsttemplatet
read_templatetprune_file_listtsorttremove_duplicates(R!((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR`Bs






cCstjdkr~g}xW|jjD]I}y|jdWn"tk
r]tjd|q"X|j|q"W||j_n|jj}t	j
dkrg|D]}|jt	j
d^q}n|jt
|j|fd|jdS(sWrite the file list in 'self.filelist' (presumably as filled in
        by 'add_defaults()' and 'read_template()') to the manifest file
        named by 'self.manifest'.
        isutf-8s$'%s' not UTF-8 encodable -- skippingReswriting manifest file '%s'N(i(RLRMRR{RNRRRDRR2tseptreplacetexecuteRBR(R!R{tfileRS((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyROs
+cCs&|jds"tj||ndS(Nsstandard file not found:(RkRRD(R!tmsg((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRDfscCstj||jj|j|jj|jtt}|r[|jj|n"t	j
j|jr}|jn|j
d}|jjdd|jdS(NRRtprefix(RRRRRRR-RtextendR2R5RCt
read_manifesttget_finalized_commandtinclude_patternR(R!trcfilestei_cmd((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRjs

cCs|jd}|jj}|jjdd|j|jjdd|tjt	j
}|jj|d|dddS(NtbuildRs(RCS|CVS|\.svn)tis_regexi(RR*tget_fullnameRtexclude_patternRt
build_baseRftescapeR2R(R!Rtbase_dirR((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRvs(
RRRR"RAR`RRDRR(((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR5s			
			cCsZdj|}tjdkr0|jd}nt|d}|j||jdS(s{Create a file with the specified name and write 'contents' (a
    sequence of strings without line terminators) to it.
    s
isutf-8RJN(i(R6RLRMRNRPRQRR(R&tcontentsRS((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRBs
cCstjd||js|jj}|j|j|_}|j|j|_}z|j	|j
Wd|||_|_Xt|jdd}ddl
m}|j|j
|ndS(Ns
writing %stzip_safei(t	bdist_egg(RRKROR*R8RR9RR[twrite_pkg_infoRtgetattrRtsetuptools.commandRtwrite_safety_flag(tcmdtbasenameR&R8toldvertoldnametsafeR((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRs	cCs&tjj|r"tjdndS(NssWARNING: 'depends.txt' is not used by setuptools 0.6!
Use the install_requires/extras_require setup() args instead.(R2R5RCRRD(RRR&((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytwarn_depends_obsoletesc	Cs|j}djt|jpdg}xI|jp9ijD]2\}}|jd|djt|fq@W|jd|dj|dS(Ns
s	

[%s]
%strequirementsR(((R*R6Rtinstall_requirestextras_requiretitemsRRI(RRR&tdistRGtextratreqs((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytwrite_requirementss
	!"*cCs_tjg|jjD]}|jddd^q}|jd|dj|ddS(Nt.iistop-level namess
(tdicttfromkeysR*titer_distribution_namesRtRBR6(RRR&tktpkgs((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytwrite_toplevel_namess2cCst|||tdS(N(t	write_argtTrue(RRR&((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyt
overwrite_argscCsgtjj|d}t|j|d}|dk	rMdj|d}n|j||||dS(Nis
(R2R5tsplitextRR*RR6RI(RRR&RHtargnametvalue((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRs
cCs|jj}t|ts'|dkr0|}n|dk	rg}xs|jD]e\}}t|tstj||}djt	t
|j}n|jd||fqOWdj|}n|j
d||tdS(Ns
s	[%s]
%s

R(sentry points(R*tentry_pointst
isinstanceRRRRtparse_groupR6RrRstvaluesRRIR(RRR&R]RGtsectionR((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyt
write_entriess	!cCsntjjdrjtdd}x9|D]1}tjd|}|r(t|jdSq(W|jndS(NsPKG-INFOtrUsVersion:.*-r(\d+)\s*$ii(	R2R5RCRPRftmatchRpRmRR(RStlineR((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRvs

((RR2RfRLt
setuptoolsRtdistutils.errorst	distutilsRtsetuptools.command.sdistRtsetuptools.compatRtdistutils.utilRtdistutils.filelistRt	_FileListt
pkg_resourcesRRR	R
RRR
RRRRRBRRRRRRRRRv(((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyt<module>s.$
:J					
		
Back to Directory File Manager