|
Server : LiteSpeed System : Linux barito.iixcp.rumahweb.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64 User : elvh3918 ( 1528) PHP Version : 8.2.31 Disable Function : mail Directory : /lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/ |
a
���h � @ sx d dl mZmZmZ d dlZddlmZmZ ddlm Z m
Z
erZd dlmZm
Z
ede�Ze�d�Zd d
� Zdd� ZdS )
� )�absolute_import�division�print_functionN� )�
TYPE_CHECKING�cast)�InvalidVersion�Version)�NewType�Union�NormalizedNamez[-_.]+c C s t �d| ��� }td|�S )N�-r )�_canonicalize_regex�sub�lowerr )�name�value� r �F/usr/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.py�canonicalize_name s r c
C s� zt | �}W n ty" | Y S 0 g }|jdkrD|�d�|j�� |�t�ddd�dd� |jD ���� |j dur�|�d�d d� |j D ��� |j
dur�|�d
�|j
�� |jdur�|�d�|j�� |jdur�|�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}!z(\.0)+$� �.c s s | ]}t |�V qd S �N��str��.0�xr r r � <genexpr>/ � z'canonicalize_version.<locals>.<genexpr>Nc s s | ]}t |�V qd S r r r r r r r 3 r z.post{0}z.dev{0}z+{0})
r r Zepoch�append�format�rer �join�releaseZpreZpost�dev�local)�_version�version�partsr r r �canonicalize_version s"