U n a @sTdZddlZddlmZddlmZddlmZer@ddlm Z Gddde Z dS) z`Represents a wheel file and provides access to the various parts of the name that have meaning. N)Tag)InvalidWheelFilename)MYPY_CHECK_RUNNING)Listc@s>eZdZdZedejZddZddZ ddZ d d Z d S) Wheelz A wheel filez^(?P(?P.+?)-(?P.*?)) ((-(?P\d[^-]*?))?-(?P.+?)-(?P.+?)-(?P.+?) \.whl|\.dist-info)$csj|}|std||_|ddd_|ddd_|d_ |d d_ |d  d_ |d  d_ fd d j D_d S)zX :raises InvalidWheelFilename: when the filename is invalid for a wheel z!{} is not a valid wheel filename.name_-verbuildpyver.abiplatcs0h|](}jD]}jD]}t|||qqqS)abisplatsr).0xyzselfr[C:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-6mt8ur68\pip\_internal\models\wheel.py .s z!Wheel.__init__..N) wheel_file_rematchrformatfilenamegroupreplacerversion build_tagsplit pyversionsrr file_tags)rr wheel_inforrr__init__s   zWheel.__init__cCstdd|jDS)z4Return the wheel's tags as a sorted list of strings.css|]}t|VqdSN)strrtagrrr 6sz0Wheel.get_formatted_file_tags..)sortedr%rrrrget_formatted_file_tags3szWheel.get_formatted_file_tagscstfdd|jDS)aReturn the lowest index that one of the wheel's file_tag combinations achieves in the given list of supported tags. For example, if there are 8 supported tags and one of the file tags is first in the list, then return 0. :param tags: the PEP 425 tags to check the wheel against, in order with most preferred first. :raises ValueError: If none of the wheel's file tags match one of the supported tags. c3s |]}|kr|VqdSr()indexr*tagsrrr,Fsz*Wheel.support_index_min..)minr%rr1rr0rsupport_index_min8szWheel.support_index_mincCs|j| S)zReturn whether the wheel is compatible with one of the given tags. :param tags: the PEP 425 tags to check the wheel against. )r% isdisjointr3rrr supportedHszWheel.supportedN) __name__ __module__ __qualname____doc__recompileVERBOSErr'r.r4r6rrrrrsr) r:r;pip._vendor.packaging.tagsrpip._internal.exceptionsrpip._internal.utils.typingrtypingrobjectrrrrrs