o
aih @ s d dl Z d dlmZmZmZmZmZ ddlmZm Z ddl
mZmZ eed ee
ef f ZedeZG dd d eZG d
d deZe dZe d
ZdedefddZdeeef defddZdedeeeeee f fddZdedeeef fddZdS ) N) FrozenSetNewTypeTupleUnioncast )Tag parse_tag)InvalidVersionVersion NormalizedNamec @ e Zd ZdZdS )InvalidWheelFilenamezM
An invalid wheel filename was found, users should refer to PEP 427.
N__name__
__module____qualname____doc__r r r /builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_vendor/packaging/utils.pyr r c @ r )InvalidSdistFilenamez^
An invalid sdist filename was found, users should refer to the packaging user guide.
Nr r r r r r r r z[-_.]+z (\d+)(.*)namereturnc C s t d| }tt|S )N-)_canonicalize_regexsublowerr r
)r valuer r r canonicalize_name s
r versionc
C s t | trzt| }W n
ty | Y S w | }g }|jdkr)||j d |tddddd |j D |j
durO|dd d |j
D |jdur]|d
|j |jdurk|d|j |j
dury|d|j
d|S )
z
This is very similar to Version.__str__, but has one subtle difference
with the way it handles the release segment.
r !z(\.0)+$ .c s | ]}t |V qd S Nstr.0xr r r