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 CsBxtj|D]\}}}tjj||}xK|D]C}tjj||}tjj|||}tj||q;Wxttt|D]e\} } tjj|| }tjj||| }tjj |stj|||| =qqWqWx3tj|dt D]\}}}tj |qWdS(sDMove everything under `src_dir` to `dst_dir`, and delete the former.ttopdownN( tostwalktpathtrelpathtjointrenamestreversedtlistt enumeratetexiststTruetrmdir( 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_supportedtnextR5tFalse(R)((R8s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyt is_compatibleEs cCsAtd|jd|jd|jdkr-dntjdS(Nt project_nametversionR4tanys.egg(RR=R>R4R#Rtegg_name(R)((s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyR@Js$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((R6RS(tinstall_requires(s4/usr/lib/python2.7/site-packages/setuptools/wheel.pys rs(Rtsortedtmaptrequires(R6textra(tdistRURT(s4/usr/lib/python2.7/site-packages/setuptools/wheel.pys qs sEGG-INFOsPKG-INFOtattrsRUtextras_requiretegg_infos requires.txttscriptss.pycc3s$|]}tjj|VqdS(N(RR R (R6R(t dist_data(s4/usr/lib/python2.7/site-packages/setuptools/wheel.pys stdatatheaderstpurelibtplatlibsnamespace_packages.txtNR.s __init__.pytw(R`RaRbRc('tzipfiletZipFileR%R=R>RtgetR$Rtmkdirt extractallR R Rt from_locationRRRVRWRXtextrastrenametSetuptoolsDistributiontdictRtget_command_objR#RtlistdirtendswithtunlinkRtfilterRRARBR2twritetNAMESPACE_PACKAGE_INIT(R)tdestination_eggdirt dist_basenameRMtwheel_metadatat dist_metadatat wheel_versionR\R]t setup_disttdist_data_scriptstegg_info_scriptstentryRtnamespace_packagesRItmodtmod_dirtmod_init((RZR_RKRURTRLs4/usr/lib/python2.7/site-packages/setuptools/wheel.pytinstall_as_eggPsr    (    !        %(t__name__t __module__R-R5R<R@R(((s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyR 5s     (t__doc__tdistutils.utilRRDR/RtreRet pkg_resourcesRRRtsetuptools.extern.sixRt setuptoolsRmRtsetuptools.command.egg_infoRtcompiletVERBOSER*R!RuRtobjectR (((s4/usr/lib/python2.7/site-packages/setuptools/wheel.pyts"