a
    eÖ0hð  ã                   @   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
   
