1j d dl mZ d dlZd dlmZmZmZmZ ddlm Z m
Z
ddlmZm
Z
eed eeef f Z ede Z G d d
e Z G d de Z G d
de Z ej dej Z ej d Z ej d Z ej d Zddd'dZd(dZddd)d!Zd*d$Zd+d&Z dS ), )annotationsN)NewTypeTupleUnioncast )Tag parse_tag)InvalidVersionVersion NormalizedNamec e Zd ZdZdS )InvalidNamezW
An invalid distribution name; users should refer to the packaging user guide.
N__name__
__module____qualname____doc__r
m/builddir/build/BUILD/cloudlinux-venv-1.0.11/venv/lib/python3.11/site-packages/pip/_vendor/packaging/utils.pyr r r r c e Zd ZdZdS )InvalidWheelFilenamezM
An invalid wheel filename was found, users should refer to PEP 427.
Nr r
r r r r r r r c e Zd ZdZdS )InvalidSdistFilenamez^
An invalid sdist filename was found, users should refer to the packaging user guide.
Nr r
r r r r r r r z)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$z[-_.]+z/^([a-z0-9]|[a-z0-9]([a-z0-9-](?!--))*[a-z0-9])$z (\d+)(.*)F)validatenamestrr boolreturnc |r,t | st d| t d| }t
t | S )Nzname is invalid: -)_validate_regexmatchr _canonicalize_regexsublowerr r )r r values r canonicalize_namer* - sg 8--d33 86d66777##C..4466E&&&r c : t | d uS N)_normalized_regexr% )r s r is_normalized_namer. 5 s ""4((44r T)strip_trailing_zeroversion
Version | strr/ c t | t r# t | }n# t $ r | cY S w xY w| }g }|j dk r| |j d d d |j D }|rt j dd| }| | |j
7| d d |j
D |j | d |j |j | d
|j |j
| 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 !.c 3 4 K | ]}t | V d S r, r .0xs r