← Back
Editing: 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"