Current File : //usr/lib/python3/dist-packages/setuptools/__pycache__/_normalization.cpython-312.pyc |
�
_�dz � �2 � d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z ee
ef Z ej dej � Z ej d ej � Zd
e
de
fd�Zd
e
de
fd�Zde
de
fd�Zde
de
fd�Zde
de
fd�Zde
de
fd�Zde
de
fd�Zy)zZ
Helpers for normalization as expected in wheel/sdist/module file names
and core metadata
� N)�Path)�Union� )� packaging)�SetuptoolsDeprecationWarningz)^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$z[^A-Z0-9.]+�name�returnc �X � t j dd| � }|j � sJ �|S )z�Make a string safe to be used as Python identifier.
>>> safe_identifier("12abc")
'_12abc'
>>> safe_identifier("__editable__.myns.pkg-78.9.3_local")
'__editable___myns_pkg_78_9_3_local'
z
\W|^(?=\d)�_)�re�sub�isidentifier)r �safes �;/usr/lib/python3/dist-packages/setuptools/_normalization.py�safe_identifierr s- � � �6�6�-��d�+�D��������K� � componentc �. � t j d| � S )z�Escape a component used as a project name according to Core Metadata.
>>> safe_name("hello world")
'hello-world'
>>> safe_name("hello?world")
'hello-world'
�-)�_UNSAFE_NAME_CHARSr
)r s r � safe_namer s � � �!�!�#�y�1�1r �versionc �: � | j dd� } t t j j |� � S # t j j
$ rA t j d|� }t t j j |� � cY S w xY w)a� Convert an arbitrary string into a valid version string.
>>> safe_version("1988 12 25")
'1988.12.25'
>>> safe_version("v0.2.1")
'0.2.1'
>>> safe_version("v0.2?beta")
'0.2b0'
>>> safe_version("v0.2 beta")
'0.2b0'
>>> safe_version("ubuntu lts")
Traceback (most recent call last):
...
setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'ubuntu.lts'
� �.r )�replace�strr r �Version�InvalidVersionr r
)r �v�attempts r �safe_versionr"