B %(ue@s^ddlmZmZddlmZddlmZddlmZGddde Z ddZ Gd d d Z d S) )absolute_importunicode_literals) attrgetter)ZipFile) ensure_textc@steZdZddZeddZeddZeddZed d Z e d d Z ed dZ ddZ ddZddZdS)WheelcCs||_|jd|_dS)N-)pathstemsplit_parts)selfr rL/opt/alt/python37/lib/python3.7/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)Nr)r )r rrr distributionszWheel.distributioncCs |jdS)N)r )r rrrversionsz Wheel.versioncCs ||jS)N)as_version_tupler)r rrr version_tupleszWheel.version_tuplec Cs^g}xD|dddD].}y|t|Wqtk rDPYqXqW|sVt|t|S)N.r)r appendint ValueErrortuple)rresultpartrrrr"s zWheel.as_version_tuplecCs|jjS)N)r name)r rrrr#.sz Wheel.namec spdd|jjddd}ttt|jd}|| d}WdQRXdt fdd | Dd}|dkr~d St d d |d Dxd d |dDD]}xdfddfdfddfdfddfdfddfdfddfdfddfgD]Z\}}| |r |t|d} t dd | d Ddd} || s`dSPq WqWd S)Nz{}.dist-info/METADATArrrzutf-8zRequires-Python:c3s(|] }|r|tdVqdS)N) startswithr).0i)markerrr 7sz#Wheel.support_py..Tcss|]}t|VqdS)N)r)r'r(rrrr*:srcss|]}|VqdS)N)strip)r'r(rrrr*;s,z!=cs|kS)Nr)v)py_version_intrr>z"Wheel.support_py..z==cs|kS)Nr)r-)r.rrr/?r0z<=cs|kS)Nr)r-)r.rrr/@r0z>=cs|kS)Nr)r-)r.rrr/Ar0cs|kS)Nr)r-)r.rrr/Cr0css"|]}|dkrt|ndVqdS)*N)r)r'r(rrrr*GsF)formatjoinr r r rrstrreaddecodenext splitlinesr r&rr+) r py_versionr#Zzip_filemetadatarequiresrequireoperatorcheckZver_strrr)r)r.r support_py2s."    zWheel.support_pycCsd|jj|jS)Nz{}({}))r4 __class____name__r )r rrr__repr__MszWheel.__repr__cCs t|jS)N)r6r )r rrr__str__Psz Wheel.__str__N)rC __module__ __qualname__r classmethodrpropertyrrr staticmethodrr#rArDrErrrrr s     rcCshg}xN|D]B}t|}|r|j|kr|dks<|j|kr||r||qWt|tddddS)NrrT)keyreverse) iterdirrrrrrArsortedr)Z from_folderrrZfor_py_versionZwheelsfilenamewheelrrrdiscover_wheelsTs  rQc@s@eZdZdZdZeefZeddZeddZeddZ d S) VersionbundleembedcCs|tjkrdS|S)N)rR non_version)valuerrr of_versioniszVersion.of_versioncCsd|t|S)Nz{}{})r4rRas_version_spec)rrrrr as_pip_reqmszVersion.as_pip_reqcCs t|}|dkrdSd|S)Nz=={})rRrWr4)rrWrrrrXqs zVersion.as_version_specN) rCrFrGrSrTrUrJrWrYrXrrrrrR_s  rRN) __future__rrr?rzipfilerZvirtualenv.util.sixrobjectrrQrRrrrrs    K