File: //usr/lib/python3/dist-packages/packaging/__pycache__/utils.cpython-38.pyc
U
��]� � @ sf d dl mZmZmZ d dlZddlmZ ddlmZm Z erHd dl
mZ e�d�Z
dd � Zd
d� ZdS )� )�absolute_import�division�print_functionN� )�MYPY_CHECK_RUNNING)�InvalidVersion�Version)�Unionz[-_.]+c C s t �d| ��� S )N�-)�_canonicalize_regex�sub�lower)�name� r �1/usr/lib/python3/dist-packages/packaging/utils.py�canonicalize_name s r c
C s� zt | �}W n tk
r$ | Y S X g }|jdkrF|�d�|j�� |�t�ddd�dd� |jD ���� |j dk r�|�d�d d� |j D ��� |j
dk r�|�d
�|j
�� |jdk r�|�d�|j�� |jdk r�|�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>, s z'canonicalize_version.<locals>.<genexpr>Nc s s | ]}t |�V qd S r r r r r r r 0 s z.post{0}z.dev{0}z+{0})
r r Zepoch�append�format�rer �join�releaseZpreZpostZdevZlocal)Z_version�version�partsr r r �canonicalize_version s"