N3{Y@stddlmZddlmZddlmZmZddlZddlZddl Z GdddeZ dS))Command)unpack_archive)logdir_utilNc@syeZdZdZdZdgZddZddZd d Zd d Z d dZ ddZ ddZ dS)install_egg_infoz.Install an .egg-info directory for the package install-dir=ddirectory to install tocCs d|_dS)N) install_dir)selfr >/tmp/pip-r2rszybt-build/setuptools/command/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCs|jdd|jd}tjdd|j|jjd}|j|_tj j |j ||_ |j g|_ dS)N install_libr egg_infoz .egg-info) install_dirr)set_undefined_optionsget_finalized_command pkg_resources Distributionegg_nameZ egg_versionrsourceospathjoinr targetoutputs)r Zei_cmdbasenamer r r finalize_optionss z!install_egg_info.finalize_optionscCs|jd|j}tjj|jr]tjj|j r]tj|jd|jn;tjj |jr|j tj |jfd|jn|jst j |jn|j |jfd|j|jf|jdS)Nrdry_runz Removing zCopying %s to %s) run_commandrrrisdirislinkr remove_treerexistsexecuteunlinkrensure_directorycopytreerinstall_namespaces)r rr r r runs  +& zinstall_egg_info.runcCs|jS)N)r)r r r r get_outputs*szinstall_egg_info.get_outputscs,fdd}tjj|dS)Ncs[x1dD])}|j|s,d||krdSqWjj|tjd|||S)N.svn/CVS//zCopying %s to %s)r,r-) startswithrappendrdebug)srcdstskip)r r r skimmer/s  z*install_egg_info.copytree..skimmer)rrr)r r5r )r r r(-s zinstall_egg_info.copytreecCs|j}|sdStjj|j\}}|d7}|jj|tjd||j st |d}x|D]w}t |}t |j d}d}d|krddj|dd |d f}n|jdtqzW|jndS) Nz -nspkg.pthz Installing %sZwt. z(; m and setattr(sys.modules[%r], %r, m) a7import sys,types,os; p = os.path.join(sys._getframe(1).f_locals['sitedir'], *%(pth)r); ie = os.path.exists(os.path.join(p,'__init__.py')); m = not ie and sys.modules.setdefault(%(pkg)r,types.ModuleType(%(pkg)r)); mp = (m or []) and m.__dict__.setdefault('__path__',[]); (p not in mp) and mp.append(p)%(trailer)sr9)_get_all_ns_packagesrrsplitextrrr0rinforopenstrtuplesplitrwritelocalsclose)r nspfilenameextfpkgpthtrailerr r r r)Ss(      'z#install_egg_info.install_namespacescCsvi}xS|jjpgD]?}|jd}x'|rWd|dj|<|jq1WqWt|}|j|S)Nr6r8) distributionZnamespace_packagesr@rpoplistsort)r rDrHr r r r:rs   z%install_egg_info._get_all_ns_packagesN)rrr ) __name__ __module__ __qualname____doc__ description user_optionsrrr*r+r(r)r:r r r r rs      & r) setuptoolsrZsetuptools.archive_utilr distutilsrrrshutilrrr r r r s$