3
2U»gð  ã               @   sJ   d dl mZmZmZ d dlZddlmZmZ ejdƒZ	dd„ Z
dd	„ ZdS )
é    )Úabsolute_importÚdivisionÚprint_functionNé   )ÚInvalidVersionÚVersionz[-_.]+c             C   s   t jd| ƒjƒ S )Nú-)Ú_canonicalize_regexÚsubÚlower)Úname© r   úF/tmp/pip-unpacked-wheel-vfl_7ucg/setuptools/_vendor/packaging/utils.pyÚcanonicalize_name   s    r   c             C   sì   yt | ƒ} W n tk
r    | S X g }| jdkrB|jdj| jƒƒ |jtjdddjdd„ | jD ƒƒƒƒ | j	dk	rŽ|jdjd	d„ | j	D ƒƒƒ | j
dk	rª|jd
j| j
ƒƒ | jdk	rÆ|jdj| jƒƒ | jdk	râ|jdj| jƒƒ dj|ƒ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>'   s    z'canonicalize_version.<locals>.<genexpr>Nc             s   s   | ]}t |ƒV  qd S )N)r   )r   r   r   r   r   r   +   s    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
   
