Ńņ QÜjZc@shdZddkZddkZddkZddklZddkTddklZddk l Z ddk l Z ddk lZdd klZlZlZlZlZlZlZlZdd k lZd efd „ƒYZd efd„ƒYZde fd„ƒYZd„Zd„Zd„Zd„Zd„Zd„Z e!d„Z"d„Z#d„Z$dS(sUsetuptools.command.egg_info Create a distribution's .egg-info directory and contentsi’’’’N(tCommand(t*(tlog(tsdist(t convert_path(tFileList(tparse_requirementst safe_namet parse_versiont safe_versiont yield_linest EntryPointtiter_entry_pointst to_filename(t walk_revctrltegg_infocBsµeZdZdd d!d"d#d$gZddgZhdd 6dd6Zd„Zd„Zd„Ze d„Z d„Z d„Z d„Z d„Zd„Zd„Zd„Zd„ZRS(%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_namet egg_versiontegg_baseRt tag_buildttag_svn_revisionttag_datetFalsetbroken_egg_infotvtags(tself((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pytinitialize_options*s        cCsCddkl}||hhdd6dd6|iƒd6d6ƒdS(Ni’’’’(t edit_configiRRRR(tsetoptR"ttags(R tfilenameR"((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pytsave_version_info5s cCs·t|iiƒƒ|_|iƒ|_|iƒ|_y$tt d|i|ifƒƒWn/t j o#t d|i|ifƒ‚nX|i djo/|ii}|phidtiƒ|_ n|idƒt|iƒd|_|i tijo"tii|i |iƒ|_nd|ijo|iƒn|i|ii_|ii}|dj oG|i|iiƒjo.|i|_t|iƒ|_d|i_ndS(Ns%s==%ss2Invalid distribution name or version syntax: %s-%stRs .egg-infot-( Rt distributiontget_nameRR$Rttagged_versionRtlistRt ValueErrortDistutilsOptionErrorRRt package_dirtgettostcurdirtensure_dirnameR Rtpathtjointcheck_broken_egg_infotmetadatatversiont _patched_disttkeytlowert_versionRt_parsed_version(R tdirstpd((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pytfinalize_optionsSs2! # " & cCss|o|i|||ƒnRtii|ƒo>|djo | otid||ƒdS|i|ƒndS(s¹Write `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_fileR1R4texistsRRtwarnt delete_file(R twhatR%tdatatforce((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pytwrite_or_delete_file|s  cCsntid||ƒtidjo|idƒ}n|ip*t|dƒ}|i|ƒ|iƒndS(sŖWrite `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 RER%RFtf((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRAs  cCs/tid|ƒ|ipti|ƒndS(s8Delete `filename` (if not a dry run) after announcing its deleting %sN(RRJRNR1tunlink(R R%((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRDžs cCst|iiƒ|iƒS(N(R R)t get_versionR(R ((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyR+¤scCs·|i|iƒ|ii}xNtdƒD]@}|id|ƒ}|||itii |i|iƒƒq)Wtii |idƒ}tii |ƒo|i |ƒn|i ƒdS(Nsegg_info.writerst installersnative_libs.txt( tmkpathRR)tfetch_build_eggR tloadtnameR1R4R5RBRDt find_sources(R RUteptwritertnl((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pytrun§s  ,cCsšd}|io||i7}n|io>tiidƒptiidƒo|d|iƒ7}n|io#ddk}||idƒ7}n|S(NR's.svnsPKG-INFOs-r%si’’’’s-%Y%m%d( RRR1R4RBtget_svn_revisionRttimetstrftime(R R8R`((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyR$µs  &  cCsSd}tidƒ}tidƒ}xtitiƒD]\}}}d|jog|(q7n|idƒttii|ddƒƒ}|i ƒ}|i ƒ|i dƒp |i dƒp|i dƒo’t t i|id ƒƒ}|dd=|dd } tg} |D]9} t| ƒd jo | d o| t| d ƒqq~ dgƒ} n|i d ƒob|i|ƒid ƒ} tg} |i|ƒD]}| t|id ƒƒq£~ dgƒ} ntid|ƒg|(q7|tijo| d}n| i |ƒpg|(q7nt|| ƒ}q7Wt |ptƒƒS(Nis url="([^"]+)"scommitted-rev="(\d+)"s.svntentriest10t9t8s ii stfilesRRRFtdirurlt_[1]Rtlocalrevt_[2]tmtbase_url((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyR_Šs<    0 ^JcCsJtii|idƒ}t|iƒ}||_|iƒ|i|_dS(s"Generate SOURCES.txt manifest files SOURCES.txtN( R1R4R5Rtmanifest_makerR)tmanifestR^tfilelist(R tmanifest_filenametmm((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRZłs   cCs’|id}|itijotii|i|ƒ}ntii|ƒo?tiddddd||i ƒ|i |_ ||_ 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. ( RRR1R2R4R5RBRRCRR(R tbei((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyR6s   (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__t descriptiont user_optionstboolean_optionst negative_optR!R&R@RRHRARDR+R^R$R_RZR6(((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRs0      )       ) RcBseZdZd„ZRS(s@File list that accepts only existing, platform-independent pathscCsU|idƒo|d }nt|ƒ}tii|ƒo|ii|ƒndS(Ns i’’’’(tendswithRR1R4RBR|tappend(R titemR4((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRs  (R‰RŠt__doc__R(((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRsRƒcBsMeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(s MANIFEST.incCs(d|_d|_d|_d|_dS(Ni(t use_defaultstprunet manifest_onlytforce_manifest(R ((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyR!&s   cCsdS(N((R ((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyR@,scCstƒ|_tii|iƒp|iƒn|iiƒ|iƒtii|i ƒo|i ƒn|i ƒ|ii ƒ|ii ƒ|iƒdS(N(RR…R1R4RBR„twrite_manifesttfindallt add_defaultsttemplatet read_templatetprune_file_listtsorttremove_duplicates(R ((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyR^/s      cCsw|ii}tidjo4g}|D]}||itidƒq'~}n|it|i|fd|iƒdS(s²Write the file list in 'self.filelist' (presumably as filled in by 'add_defaults()' and 'read_template()') to the manifest file named by 'self.manifest'. Rfswriting manifest file '%s'N(R…R|R1tseptreplacetexecuteRAR„(R R|R~RR((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyR—<s  4cCs(|idƒpti||ƒndS(Nsstandard file not found:(RlRRC(R tmsg((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRCGscCs­ti|ƒ|ii|iƒ|ii|iƒttƒƒ}|o|ii|ƒn%t i i |iƒo|i ƒn|i dƒ}|iidd|iƒdS(NRRtprefix(RR™R…RRšR„R,RtextendR1R4RBt read_manifesttget_finalized_commandtinclude_patternR(R trcfilestei_cmd((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyR™Ks cCs|idƒ}|iiƒ}|iidd|iƒ|iidd|ƒtit i ƒ}|ii|d|ddƒdS(NtbuildR£s(RCS|CVS|\.svn)tis_regexi( R¦R)t get_fullnameR…texclude_patternRt build_baseRgtescapeR1RŸ(R RŖtbase_dirRŸ((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRœWs ( R‰RŠRšR!R@R^R—RCR™Rœ(((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRƒ"s    cCs\di|ƒ}tidjo|idƒ}nt|dƒ}|i|ƒ|iƒdS(s{Create a file with the specified name and write 'contents' (a sequence of strings without line terminators) to it. s isutf-8RIN(i(R5RKRLRMRORPRQ(R%tcontentsRR((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRA`s  cCs¹tid|ƒ|ip›|ii}|i|i|_}|i|i|_}z|i |i ƒWd|||_|_Xt |iddƒ}ddk }|i|i |ƒndS(Ns writing %stzip_safei’’’’(RRJRNR)R7RR8RRYtwrite_pkg_infoRtgetattrRt bdist_eggtwrite_safety_flag(tcmdtbasenameR%R7toldvertoldnametsafeRµ((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyR³ws   cCs(tii|ƒotidƒndS(NssWARNING: 'depends.txt' is not used by setuptools 0.6! Use the install_requires/extras_require setup() args instead.(R1R4RBRRC(R·RøR%((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pytwarn_depends_obsolete‡scCs˜|i}dit|ipdƒƒg}xJ|iphiƒD]2\}}|id|dit|ƒƒfƒqBW|id|di|ƒƒdS(Ns s [%s] %st requirementsR'((R)R5R tinstall_requirestextras_requiretitemsRRH(R·RøR%tdistRFtextratreqs((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pytwrite_requirementss  " *cCsgtig}|iiƒD]}||iddƒdq~ƒ}|id|di|ƒdƒdS(Nt.iistop-level namess (tdicttfromkeysR)titer_distribution_namesRpRAR5(R·RøR%R~tktpkgs((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pytwrite_toplevel_names–s6cCst|||tƒdS(N(t write_argtTrue(R·RøR%((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyt overwrite_arg scCsitii|ƒd}t|i|dƒ}|dj odi|ƒd}n|i||||ƒdS(Nis (R1R4tsplitextR“R)RR5RH(R·RøR%RGtargnametvalue((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRĢ£s  cCsė|ii}t|tƒp |djo |}nŸ|dj o‘g}xu|iƒD]g\}}t|tƒp4ti||ƒ}dit t |i ƒƒƒ}n|i d||fƒqSWdi|ƒ}n|i d||tƒdS(Ns s [%s] %s R's entry points(R)t entry_pointst isinstancet basestringRRĄR t parse_groupR5RmRntvaluesRRHRĶ(R·RøR%R[RFtsectionR±((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyt write_entriesŖs    "cCsrtiidƒo[tddƒ}x;|D]3}tid|ƒ}|ot|idƒƒSq)W|iƒndS(NsPKG-INFOtrUsVersion:.*-r(\d+)\s*$ii( R1R4RBRORgtmatchRsRuRQ(RRtlineRŚ((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyRwŗs(%R’R1RgRKt setuptoolsRtdistutils.errorst distutilsRtsetuptools.command.sdistRtdistutils.utilRtdistutils.filelistRt pkg_resourcesRRRR R R R R RRRƒRAR³R¼RÄRĖRĪRRĢRŲRw(((s?/usr/lib/python2.6/site-packages/setuptools/command/egg_info.pyts*$ :’>