fc@sdZddlmZddlZddlZddlZddlZddlZddlm Z m Z m Z ddl m Z ddlm ZddlmZddlmZejd ejjZd Zd Zd efd YZdS(sWheels support.i(t get_platformN(t Distributiont PathMetadatat parse_version(tPY3(R(t pep425tags(twrite_requirementss^(?P.+?)-(?P\d.*?) ((-(?P\d.*?))?-(?P.+?)-(?P.+?)-(?P.+?) )\.whl$stry: __import__('pkg_resources').declare_namespace(__name__) except ImportError: __path__ = __import__('pkgutil').extend_path(__path__, __name__) c CsOxtj|D]\}}}tjj||}xK|D]C}tjj||}tjj|||}tj||q;Wxttt|D]e\} } tjj|| }tjj||| }tjj |stj|||| =qqWqWx@tj|dt D])\}}}| s:t tj |qWdS(sDMove everything under `src_dir` to `dst_dir`, and delete the former.ttopdownN( tostwalktpathtrelpathtjointrenamestreversedtlistt enumeratetexiststTruetAssertionErrortrmdir( tsrc_dirtdst_dirtdirpathtdirnamest filenamestsubdirtftsrctdsttntd((s4/usr/lib/python2.7/site-packages/setuptools/wheel.pytunpacks %% tWheelcBs5eZdZdZdZdZdZRS(cCswttjj|}|dkr7td|n||_x0|jjD]\}}t |||qSWdS(Nsinvalid wheel name: %r( t WHEEL_NAMERR tbasenametNonet ValueErrortfilenamet groupdicttitemstsetattr(tselfR&tmatchtktv((s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyt__init__7s   cCs7tj|jjd|jjd|jjdS(s>List tags (py_version, abi, platform) supported by this wheel.t.(t itertoolstproductt py_versiontsplittabitplatform(R*((s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyttags?scs/tjtfd|jDtS(s5Is the wheel is compatible with the current platform?c3s!|]}|krtVqdS(N(R(t.0tt(tsupported_tags(s4/usr/lib/python2.7/site-packages/setuptools/wheel.pys Hs(Rt get_supportedtnextR6tFalse(R*((R9s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyt is_compatibleEs cCsAtd|jd|jd|jdkr-dntjdS(Nt project_nametversionR5tanys.egg(RR>R?R5R$Rtegg_name(R*((s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyRAJs$c stj|jd|j|jf}d|d|fd}|d}|d}t|jd}td|kotd knstd |ntj |j |tj j |t j|d t|d tttjfd jD}tj j |d}tj|tjtj j |dtj j |dtdtdd|} t| jddtj j |dtj j |tj j d} tj j| rtj j |dd} tj | xstj| D]b} | jdrtjtj j | | q\tjtj j | | tj j | | q\Wtj| nx:t tj jfdd!DD]} t!| |qWtj jr1tjntj j |d}tj j|rt"|}|j#j$}WdQXx|D]}tj j ||j$d}tj j |d}tj j|rtj j| rt"|d }|j%t&WdQXqqWnWdQXdS("s"Install wheel as an egg directory.s%s-%ss %s.dist-infos%s.datacscjd|fD}tr7|jjdn |j}tjjj|SWdQXdS(Ns%s/%ssutf-8(topenRtreadtdecodetemailtparsertParsertparsestr(tnametfptvalue(t dist_infotzf(s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyt get_metadataVs'tWHEELtMETADATAs Wheel-Versions1.0s2.0dev0s$unsupported wheel format version: %stmetadatacSsd|_t|S(N(R$tmarkertstr(treq((s4/usr/lib/python2.7/site-packages/setuptools/wheel.pytraw_reqls c sJi|]@}ttfdtj|fD|qS(c3s!|]}|kr|VqdS(N((R7RT(tinstall_requires(s4/usr/lib/python2.7/site-packages/setuptools/wheel.pys rs(Rtsortedtmaptrequires(R7textra(tdistRVRU(s4/usr/lib/python2.7/site-packages/setuptools/wheel.pys qs sEGG-INFOsPKG-INFOtattrsRVtextras_requiretegg_infos requires.txttscriptss.pycc3s$|]}tjj|VqdS(N(RR R (R7R(t dist_data(s4/usr/lib/python2.7/site-packages/setuptools/wheel.pys stdatatheaderstpurelibtplatlibsnamespace_packages.txtNR/s __init__.pytw(RaRbRcRd('tzipfiletZipFileR&R>R?RtgetR%Rtmkdirt extractallR R Rt from_locationRRRWRXRYtextrastrenametSetuptoolsDistributiontdictRtget_command_objR$RtlistdirtendswithtunlinkRtfilterR RBRCR3twritetNAMESPACE_PACKAGE_INIT(R*tdestination_eggdirt dist_basenameRNtwheel_metadatat dist_metadatat wheel_versionR]R^t setup_disttdist_data_scriptstegg_info_scriptstentryRtnamespace_packagesRJtmodtmod_dirtmod_init((R[R`RLRVRURMs4/usr/lib/python2.7/site-packages/setuptools/wheel.pytinstall_as_eggPsr    (    !        %(t__name__t __module__R.R6R=RAR(((s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyR!5s     (t__doc__tdistutils.utilRRER0RtreRft pkg_resourcesRRRtsetuptools.extern.sixRt setuptoolsRnRtsetuptools.command.egg_infoRtcompiletVERBOSER+R"RvR tobjectR!(((s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyts"