a
    |ӓh                     @   sJ   d dl mZmZmZ d dlZddlmZmZ edZ	dd Z
dd	 ZdS )
    )absolute_importdivisionprint_functionN   )InvalidVersionVersionz[-_.]+c                 C   s   t d|  S )N-)_canonicalize_regexsublower)name r   P/var/www/auris/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.pycanonicalize_name   s    r   c              
   C   s   zt | } W n ty"   |  Y S 0 g }| jdkrD|d| j |tddddd | jD  | j	dur|dd	d | j	D  | j
dur|d
| j
 | jdur|d| j | jdur|d| j d|S )z
    This is very similar to Version.__str__, but has one subtle differences
    with the way it handles the release segment.
    r   z{0}!z(\.0)+$ .c                 s   s   | ]}t |V  qd S Nstr.0xr   r   r   	<genexpr>'       z'canonicalize_version.<locals>.<genexpr>Nc                 s   s   | ]}t |V  qd S r   r   r   r   r   r   r   +   r   z.post{0}z.dev{0}z+{0})r   r   epochappendformatrer
   joinreleaseprepostdevlocal)versionpartsr   r   r   canonicalize_version   s"    

&



r&   )
__future__r   r   r   r   r$   r   r   compiler	   r   r&   r   r   r   r   <module>   s
   
