R`i P d Z ddlZddlmZmZmZ ddlmZ ddlm Z G d d Z
y)z`Represents a wheel file and provides access to the various parts of the
name that have meaning.
N)DictIterableList)Tag)InvalidWheelFilenamec e Zd ZdZ ej
dej ZdeddfdZ de
e fdZde
e de
fd Zde
e d
eee
f de
fdZdee defdZy)
WheelzA wheel filez^(?P(?P[^\s-]+?)-(?P[^\s-]*?))
((-(?P\d[^-]*?))?-(?P[^\s-]+?)-(?P[^\s-]+?)-(?P[^\s-]+?)
\.whl|\.dist-info)$filenamereturnNc | j j | }|st | d || _ |j d j dd | _ |j d j dd | _ |j d | _ |j d j d | _
|j d j d | _ |j d
j d | _ | j D ch c]1 }| j D ] }| j D ] }t ||| " 3 c}}}| _ yc c}}}w )zX
:raises InvalidWheelFilename: when the filename is invalid for a wheel
z is not a valid wheel filename.name_-verbuildpyver.abiplatN)
wheel_file_rematchr r
groupreplacer
version build_tagsplit
pyversionsabisplatsr file_tags)selfr
wheel_infoxyzs /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_internal/models/wheel.py__init__zWheel.__init__ s& ''--h7
&(3R'STT
$$V,44S#> "''.66sC@#))'2$**7399#>$$U+11#6 %%f-33C8
#'//
"1Q499adjjC1aLjL9L/
s 6Ec : t d | j D S )z4Return the wheel's tags as a sorted list of strings.c 3 2 K | ] }t | y wN)str).0tags r&