_d!^dZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl Z ddl m ZddlmZddlmZddlmZmZddlmZej0d ej2j4Zd Zej:d d Zd Zej@dZ!GddZ"y)zWheels support.N) get_platform)Version)sys_tags)canonicalize_name)write_requirements _egg_basename)_unpack_zipfile_objz^(?P.+?)-(?P\d.*?) ((-(?P\d.*?))?-(?P.+?)-(?P.+?)-(?P.+?) )\.whl$z8__import__('pkg_resources').declare_namespace(__name__) )maxsizec~tDchc]%}|j|j|jf'c}Scc}wN)r interpreterabiplatform)ts 2/usr/lib/python3/dist-packages/setuptools/wheel.py_get_supported_tagsr s. 9A C1Q]]AEE1:: . CC Cs*:ctj|D]$\}}}tjj||}|D]Y}tjj ||}tjj |||}tj ||[t tt|D]\} } tjj || }tjj ||| }tjj|rgtj |||| ='tj|dD]\}}}|rJtj|!y)zDMove everything under `src_dir` to `dst_dir`, and delete the former.T)topdownN) oswalkpathrelpathjoinrenamesreversedlist enumerateexistsrmdir) src_dirdst_dirdirpathdirnames filenamessubdirfsrcdstnds runpackr+(s((*(8  $9'2 !A'',,w*C'',,w2C JJsC  !T)H"567 DAq'',,w*C'',,w2C77>>#& 3$QK  )+(F$9} c#Kddlm}|j|j} d|j|y#|j|wxYww)z* Temporarily disable info traces. r)logN) distutilsr. set_thresholdWARN)r.saveds rdisable_info_tracesr3>sC    chh 'E!  % % s"A;AAAcfeZdZdZdZdZdZdZdZdZ e dZ e d Z e d Z y ) Wheelcttjj|}|t d|z||_|j jD]\}}t|||y)Nzinvalid wheel name: %r) WHEEL_NAMErrbasename ValueErrorfilename groupdictitemssetattr)selfr:matchkvs r__init__zWheel.__init__Msg277++H56 =5@A A  OO%++- DAq D!Q  r,ctj|jjd|jjd|j jdS)z>List tags (py_version, abi, platform) supported by this wheel..) itertoolsproduct py_versionsplitrrr>s rtagsz Wheel.tagsUsI  OO ! !# & HHNN3  MM   $  r,cDtd|jDdS)z2Is the wheel compatible with the current platform?c3:K|]}|tvsdyw)TN)r).0rs r z&Wheel.is_compatible.._sMa!7J7L2LTMsF)nextrJrIs r is_compatiblezWheel.is_compatible]sM499;MuUUr,c~t|j|j|jdk(rdn t dzS)Nany)rz.egg)r project_nameversionrrrIs regg_namezWheel.egg_nameas; !! "&--5"8$ln     r,c|jD]Z}tj|}|jds*t |j t |j sX|cStd)Nz .dist-infoz.unsupported wheel format. .dist-info not found)namelist posixpathdirnameendswithr startswithrSr9)r>zfmemberrYs r get_dist_infozWheel.get_dist_infokskkkm F''/G -2CG2L2W2W!$"3"343   IJJr,ctj|j5}|j||dddy#1swYyxYw)z"Install wheel as an egg directory.N)zipfileZipFiler:_install_as_egg)r>destination_eggdirr\s rinstall_as_eggzWheel.install_as_eggus: __T]] + 9r  !3R 8 9 9 9s <Ac|jd|j}|j|}d|z}tjj |d}|j |||||j|||j||y)N-z%s.dataEGG-INFO) rSrTr^rrr_convert_metadata_move_data_entries_fix_namespace_packages)r>rcr\ dist_basename dist_info dist_dataegg_infos rrbzWheel._install_as_eggzs|#'#4#4dllC &&r*  - 77<< 2J? r#5y(K  2I> $$X/ABr,c .ddl}fd}|d}t|jd}td|cxkxrtdknc}|std|zt |t j j||jj||j|} d } tt| | j} | jD cic]1} | t| | j| fD cgc]} | | vr|  c} 3}} } t j|t jt j j|d t j j|d t!jt#| |  }t%5t'|j)ddt j j|ddddycc} wcc} } w#1swYyxYw)Nrcjtj|5}|jj d}t j jj|cdddS#1swYyxYw)Nzutf-8) openrXrreaddecodeemailparserParserparsestr)namefpvaluerlr\s r get_metadataz-Wheel._convert_metadata..get_metadatasb 489 =R ((1||**,55e< = = =s A A==BWHEELz Wheel-Versionz1.0z2.0dev0z$unsupported wheel format version: %s)metadatac&d|_t|Sr )markerstr)reqs rraw_reqz(Wheel._convert_metadata..raw_reqsCJs8Or,METADATAzPKG-INFO)install_requiresextras_require)attrsrnz requires.txt) pkg_resources parse_versiongetr9r rrr Distribution from_location PathMetadatarmaprequiresextrasrename setuptoolsdictr3rget_command_obj)r\rcrlrnrr{wheel_metadata wheel_versionwheel_v1distrrextrarr setup_dists` ` rrhzWheel._convert_metadatas = &g.%n&8&8&IJ  '=S=;SSCmST TB 23GGLL!3Y? ))77  "//0BIN8   GT]]_ =>   w uh(?@..    )X& GGLL: . GGLL: .  ,,!1- ! "  **:6 X~6   % &  s$0$H H!H<;H H Hctjj|tjjd}tjj|rtjj|dd}tj|tj |D]}|j dr4tjtjj||Htjtjj||tjj||tj|ttjjfddDD]}t||tjjrtjyy)z,Move data entries to their correct location.scriptsrgz.pycc3^K|]$}tjj|&ywr )rrr)rMr*rms rrNz+Wheel._move_data_entries..s(  Y* s*-)dataheaderspurelibplatlibN) rrrrmkdirlistdirrZunlinkrrfilterr+)rcrmdist_data_scriptsegg_info_scriptsentryr%s ` rrizWheel._move_data_entriessEGGLL!3Y? GGLLI> 77>>+ ,!ww||,> IV  HH% &$56 >>&)IIbggll+ %5u=  HH& ' GGNN B   /F 6- . / 77>>) $ HHY  %r,ctjj|d}tjj|rt |5}|j j }ddd|D]}tjj|g|j d}tjj|d}tjj|stj|tjj|rt |d5}|jtdddyy#1swYxYw#1swYxYw)Nznamespace_packages.txtrDz __init__.pyw) rrrrrqrrrHrwriteNAMESPACE_PACKAGE_INIT)rnrcnamespace_packagesrymodmod_dirmod_inits rrjzWheel._fix_namespace_packagessWW\\(4LM 77>>, -() 7R%'WWY__%6" 7) 9'',,'9KCIIcNK77<<?ww~~g.HHW%ww~~h/h,9!7899  9 . 7 799s E 'E EE N)__name__ __module__ __qualname__rBrJrPrUr^rdrb staticmethodrhrirjr,rr5r5Lse  V K9 C88t  : 9 9r,r5)#__doc__rtrE functoolsrrXrer` contextlibdistutils.utilrr#setuptools.extern.packaging.versionrr setuptools.extern.packaging.tagsr!setuptools.extern.packaging.utilsrsetuptools.command.egg_inforrsetuptools.archive_utilr compileVERBOSEr?r7r lru_cacherr+contextmanagerr3r5rr,rrs   'H5?I7RZZJJ  %  UT"D#D,  ! !^9^9r,