Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib/python3.5/site-packages/packaging/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/packaging/__pycache__/version.cpython-35.pyc



N�X$-�
@s{ddlmZmZmZddlZddlZddlZddlmZddddd	gZ	ej
d
ddd
dddg�Zdd�ZGdd�de
�ZGdd�de�ZGdd�de�Zejdej�Zddddddddd
diZdd�Zdd �Zd!ZGd"d�de�Zd#d$�Zejd%�Zd&d'�Zd(d)�ZdS)*�)�absolute_import�division�print_functionN�)�Infinity�parse�Version�
LegacyVersion�InvalidVersion�VERSION_PATTERN�_Version�epoch�release�dev�pre�post�localcCs1yt|�SWntk
r,t|�SYnXdS)z�
    Parse the given version string and return either a :class:`Version` object
    or a :class:`LegacyVersion` object depending on if the given version is
    a valid PEP 440 version or a legacy version.
    N)rr
r	)�version�r�B/opt/alt/python35/lib/python3.5/site-packages/packaging/version.pyrs
c@seZdZdZdS)r
zF
    An invalid version was found, users should refer to PEP 440.
    N)�__name__�
__module__�__qualname__�__doc__rrrrr
$sc@speZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�_BaseVersioncCs
t|j�S)N)�hash�_key)�selfrrr�__hash__,sz_BaseVersion.__hash__cCs|j|dd��S)NcSs
||kS)Nr)�s�orrr�<lambda>0sz%_BaseVersion.__lt__.<locals>.<lambda>)�_compare)r�otherrrr�__lt__/sz_BaseVersion.__lt__cCs|j|dd��S)NcSs
||kS)Nr)rr rrrr!3sz%_BaseVersion.__le__.<locals>.<lambda>)r")rr#rrr�__le__2sz_BaseVersion.__le__cCs|j|dd��S)NcSs
||kS)Nr)rr rrrr!6sz%_BaseVersion.__eq__.<locals>.<lambda>)r")rr#rrr�__eq__5sz_BaseVersion.__eq__cCs|j|dd��S)NcSs
||kS)Nr)rr rrrr!9sz%_BaseVersion.__ge__.<locals>.<lambda>)r")rr#rrr�__ge__8sz_BaseVersion.__ge__cCs|j|dd��S)NcSs
||kS)Nr)rr rrrr!<sz%_BaseVersion.__gt__.<locals>.<lambda>)r")rr#rrr�__gt__;sz_BaseVersion.__gt__cCs|j|dd��S)NcSs
||kS)Nr)rr rrrr!?sz%_BaseVersion.__ne__.<locals>.<lambda>)r")rr#rrr�__ne__>sz_BaseVersion.__ne__cCs&t|t�stS||j|j�S)N)�
isinstancer�NotImplementedr)rr#�methodrrrr"Asz_BaseVersion._compareN)rrrrr$r%r&r'r(r)r"rrrrr*src@s�eZdZdd�Zdd�Zdd�Zedd��Zed	d
��Zedd��Z	ed
d��Z
edd��ZdS)r	cCs%t|�|_t|j�|_dS)N)�str�_version�_legacy_cmpkeyr)rrrrr�__init__JszLegacyVersion.__init__cCs|jS)N)r.)rrrr�__str__NszLegacyVersion.__str__cCsdjtt|���S)Nz<LegacyVersion({0})>)�format�reprr-)rrrr�__repr__QszLegacyVersion.__repr__cCs|jS)N)r.)rrrr�publicTszLegacyVersion.publiccCs|jS)N)r.)rrrr�base_versionXszLegacyVersion.base_versioncCsdS)Nr)rrrrr\szLegacyVersion.localcCsdS)NFr)rrrr�
is_prerelease`szLegacyVersion.is_prereleasecCsdS)NFr)rrrr�is_postreleasedszLegacyVersion.is_postreleaseN)rrrr0r1r4�propertyr5r6rr7r8rrrrr	Hsz(\d+ | [a-z]+ | \.| -)�c�preview�-zfinal-�rc�@ccs{xotj|�D]^}tj||�}|s|dkr>q|dd�dkre|jd�Vqd|VqWdVdS)N�.r�
0123456789��*z*final)�_legacy_version_component_re�split�_legacy_version_replacement_map�get�zfill)r�partrrr�_parse_version_partsrs
rIcCs�d}g}x�t|j��D]|}|jd�r�|dkrgx$|rf|ddkrf|j�qCWx$|r�|ddkr�|j�qjW|j|�qWt|�}||fS)	NrrBz*finalz*final-�00000000���rKrK)rI�lower�
startswith�pop�append�tuple)rr
�partsrHrrrr/�sr/a�
    v?
    (?:
        (?:(?P<epoch>[0-9]+)!)?                           # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
        (?P<pre>                                          # pre-release
            [-_\.]?
            (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?P<pre_n>[0-9]+)?
        )?
        (?P<post>                                         # post release
            (?:-(?P<post_n1>[0-9]+))
            |
            (?:
                [-_\.]?
                (?P<post_l>post|rev|r)
                [-_\.]?
                (?P<post_n2>[0-9]+)?
            )
        )?
        (?P<dev>                                          # dev release
            [-_\.]?
            (?P<dev_l>dev)
            [-_\.]?
            (?P<dev_n>[0-9]+)?
        )?
    )
    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
c@s�eZdZejdedejejB�Zdd�Z	dd�Z
dd�Zed	d
��Z
edd��Zed
d��Zedd��Zedd��ZdS)rz^\s*z\s*$cCs[|jj|�}|s-tdj|���td|jd�rWt|jd��nddtdd�|jd�jd�D��dt	|jd	�|jd
��dt	|jd�|jd
�p�|jd��dt	|jd�|jd��dt
|jd���|_t|jj
|jj|jj|jj|jj|jj�|_dS)NzInvalid version: '{0}'r
rrcss|]}t|�VqdS)N)�int)�.0�irrr�	<genexpr>�sz#Version.__init__.<locals>.<genexpr>r?r�pre_l�pre_nr�post_l�post_n1�post_n2r�dev_l�dev_nr)�_regex�searchr
r2r�grouprRrPrD�_parse_letter_version�_parse_local_versionr.�_cmpkeyr
rrrrrr)rr�matchrrrr0�s.*+!					zVersion.__init__cCsdjtt|���S)Nz<Version({0})>)r2r3r-)rrrrr4�szVersion.__repr__cCsMg}|jjdkr4|jdj|jj��|jdjdd�|jjD���|jjdk	r�|jdjdd�|jjD���|jjdk	r�|jdj|jjd	��|jjdk	r�|jd
j|jjd	��|jj	dk	r@|jdjdjdd�|jj	D����dj|�S)
Nrz{0}!r?css|]}t|�VqdS)N)r-)rS�xrrrrU�sz"Version.__str__.<locals>.<genexpr>�css|]}t|�VqdS)N)r-)rSrdrrrrU�sz.post{0}rz.dev{0}z+{0}css|]}t|�VqdS)N)r-)rSrdrrrrUs)
r.r
rOr2�joinrrrrr)rrQrrrr1�s))  ,zVersion.__str__cCst|�jdd�dS)N�+rr)r-rD)rrrrr5
szVersion.publiccCsjg}|jjdkr4|jdj|jj��|jdjdd�|jjD���dj|�S)Nrz{0}!r?css|]}t|�VqdS)N)r-)rSrdrrrrUsz'Version.base_version.<locals>.<genexpr>re)r.r
rOr2rfr)rrQrrrr6s
)zVersion.base_versioncCs0t|�}d|kr,|jdd�dSdS)Nrgr)r-rD)r�version_stringrrrrsz
Version.localcCst|jjp|jj�S)N)�boolr.rr)rrrrr7!szVersion.is_prereleasecCst|jj�S)N)rir.r)rrrrr8%szVersion.is_postreleaseN)rrr�re�compiler�VERBOSE�
IGNORECASEr]r0r4r1r9r5r6rr7r8rrrrr�s#
cCs�|r�|dkrd}|j�}|dkr9d}n<|dkrNd}n'|d
krcd	}n|dkrud}|t|�fS|r�|r�d}|t|�fSdS)Nr�alpha�a�beta�br:rr;r=�rev�rr)r:rr;)rrrs)rLrR)�letter�numberrrrr`*s 			
r`z[\._-]cCs0|dk	r,tdd�tj|�D��SdS)zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Ncss3|])}|j�s!|j�n	t|�VqdS)N)�isdigitrLrR)rSrHrrrrURsz'_parse_local_version.<locals>.<genexpr>)rP�_local_version_seperatorsrD)rrrrraLs	racCs�ttttjdd�t|�����}|dkr^|dkr^|dk	r^t}n|dkrpt}|dkr�t}|dkr�t}|dkr�t}ntdd�|D��}||||||fS)NcSs
|dkS)Nrr)rdrrrr!`sz_cmpkey.<locals>.<lambda>css7|]-}t|t�r$|dfn
t|fVqdS)reN)r*rRr)rSrTrrrrU�sz_cmpkey.<locals>.<genexpr>)rP�reversed�list�	itertools�	dropwhiler)r
rrrrrrrrrbWs&		$

		
rb)�
__future__rrr�collectionsrzrj�_structuresr�__all__�
namedtuplerr�
ValueErrorr
�objectrr	rkrlrCrErIr/rrr`rwrarbrrrr�<module>s.!$9k