o
ai
@ sJ d Z ddlZddlmZmZmZ ddlmZ ddlm Z G dd dZ
dS )z`Represents a wheel file and provides access to the various parts of the
name that have meaning.
N)DictIterableList)Tag)InvalidWheelFilenamec @ s e Zd ZdZedejZdeddfddZ de
e fdd Zd
e
e de
fddZd
e
e d
eee
f de
fddZd
ee defddZdS )WheelzA wheel filez^(?P(?P.+?)-(?P.*?))
((-(?P\d[^-]*?))?-(?P.+?)-(?P.+?)-(?P.+?)
\.whl|\.dist-info)$filenamereturnNc s j |}|st| d| _|ddd _|ddd _|d _|d d _
|d d _|d
d _ fdd j
D _
d
S )zX
:raises InvalidWheelFilename: when the filename is invalid for a wheel
z is not a valid wheel filename.name_-verbuildpyver.abiplatc s0 h | ]} j D ]} jD ]}t|||qqqS )abisplatsr ).0xyzselfr /builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/models/wheel.py ( s
z!Wheel.__init__..N)
wheel_file_rematchr r groupreplacer
version build_tagsplit
pyversionsr r file_tags)r r
wheel_infor r r __init__ s
zWheel.__init__c C s t dd | jD S )z4Return the wheel's tags as a sorted list of strings.c s s | ]}t |V qd S N)strr tagr r r . s z0Wheel.get_formatted_file_tags..)sortedr&