U ez@sVddlmZddlmZddlmZGdddZddZGdd d Zd ddgZ d S) ) annotations) attrgetter)ZipFilec@seZdZddddZeddZeddZed d Zed d Z e d dZ eddZ ddZ ddddZddddZdS)WheelNone)returncCs||_|jd|_dS)N-)pathstemsplit_parts)selfr rI/opt/hc_python/lib/python3.8/site-packages/virtualenv/seed/wheels/util.py__init__szWheel.__init__cCs2|dk r.|jdkr.t|jddkr.||SdS)Nz.whlr)suffixlenr r )clsr rrr from_paths&zWheel.from_pathcCs |jdS)Nrr r rrr distributionszWheel.distributioncCs |jdS)Nrrrrrversionsz Wheel.versioncCs ||jSN)as_version_tuplerrrrr version_tupleszWheel.version_tuplec Cs^g}|dddD]2}z|t|Wqtk rFYqJYqXq|sVt|t|S)N.r)r appendint ValueErrortuple)rresultpartrrrr szWheel.as_version_tuplecCs|jjSr)r namerrrrr&,sz Wheel.namec sjd|jjdddd}tt|jd}||d}W5QRXdtfdd | Dd}|dkrzd St d d |d Dd d |dDD]}dfddfdfddfdfddfdfddfdfddfdfddffD]`\}}| |r|t |d } t dd | d Ddd} || s\dSqqqd S)Nrrz.dist-info/METADATArzutf-8zRequires-Python:c3s(|] }|r|tdVqdSr) startswithr.0i)markerrr 5s z#Wheel.support_py..Tcss|]}t|VqdSrr!r*rrrr.8srcss|]}|VqdSr)stripr*rrrr.9s,z!=cs|kSrrvpy_version_intrr<z"Wheel.support_py..==cs|kSrrr2r4rrr6=r7z<=cs|kSrrr2r4rrr6>r7z>=cs|kSrrr2r4rrr6?r7cs|kSrrr2r4rrr6Ar7css"|]}|dkrt|ndVqdS)*Nr/r*rrrr.EsF)joinr r r rstrreaddecodenext splitlinesr#r)rr0) r py_versionr&zip_filemetadatarequiresrequireoperatorcheckZver_strrr)r-r5r support_py0s."     zWheel.support_pyr=cCs|jjd|jdS)N()) __class____name__r rrrr__repr__KszWheel.__repr__cCs t|jSr)r=r rrrr__str__Nsz Wheel.__str__N)rM __module__ __qualname__r classmethodrpropertyrrr staticmethodrr&rIrNrOrrrrrs       rcCsdg}|D]B}t|}|r |j|kr |dks:|j|kr ||r ||q t|tddddS)NrrT)keyreverse) iterdirrrrrrIr sortedr)Z from_folderrrZfor_py_versionwheelsfilenamewheelrrrdiscover_wheelsRs   r\c@s@eZdZdZdZeefZeddZeddZeddZ d S) VersionbundleembedcCs|tjkrdS|Sr)r] non_version)valuerrr of_versiongszVersion.of_versioncCs|t|Sr)r]as_version_spec)rrrrr as_pip_reqkszVersion.as_pip_reqcCs t|}|dkrdSd|S)Nr8)r]rb)rrbrrrrcos zVersion.as_version_specN) rMrPrQr^r_r`rTrbrdrcrrrrr]`s  r]N) __future__rrGrzipfilerrr\r]__all__rrrrs   K