Edit File: version.cpython-36.pyc
3 U('d$-������������������@���s����d�dl�mZmZmZ�d�dlZd�dlZd�dlZddlmZ�ddddd gZ ej d ddd dddg�Zdd��ZG�dd��de �ZG�dd��de�ZG�dd��de�Zejdej�Zdddddd�Zdd��Zdd��ZdZG�d 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�localc�������������C���s&���yt�|��S��tk r ���t|��S�X�dS�)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)r���r ���r ���)�version��r����/usr/lib/python3.6/version.pyr������s����c���������������@���s���e�Zd�ZdZdS�)r ���zF An invalid version was found, users should refer to PEP 440. N)�__name__� __module__�__qualname__�__doc__r���r���r���r���r ���$���s���c���������������@���sL���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd d��Z dd��Z dS�)�_BaseVersionc�������������C���s ���t�|�j�S�)N)�hash�_key)�selfr���r���r����__hash__,���s����z_BaseVersion.__hash__c�������������C���s���|�j�|dd���S�)Nc�������������S���s���|�|k�S�)Nr���)�s�or���r���r����<lambda>0���s����z%_BaseVersion.__lt__.<locals>.<lambda>)�_compare)r����otherr���r���r����__lt__/���s����z_BaseVersion.__lt__c�������������C���s���|�j�|dd���S�)Nc�������������S���s���|�|kS�)Nr���)r���r ���r���r���r���r!���3���s����z%_BaseVersion.__le__.<locals>.<lambda>)r"���)r���r#���r���r���r����__le__2���s����z_BaseVersion.__le__c�������������C���s���|�j�|dd���S�)Nc�������������S���s���|�|kS�)Nr���)r���r ���r���r���r���r!���6���s����z%_BaseVersion.__eq__.<locals>.<lambda>)r"���)r���r#���r���r���r����__eq__5���s����z_BaseVersion.__eq__c�������������C���s���|�j�|dd���S�)Nc�������������S���s���|�|kS�)Nr���)r���r ���r���r���r���r!���9���s����z%_BaseVersion.__ge__.<locals>.<lambda>)r"���)r���r#���r���r���r����__ge__8���s����z_BaseVersion.__ge__c�������������C���s���|�j�|dd���S�)Nc�������������S���s���|�|kS�)Nr���)r���r ���r���r���r���r!���<���s����z%_BaseVersion.__gt__.<locals>.<lambda>)r"���)r���r#���r���r���r����__gt__;���s����z_BaseVersion.__gt__c�������������C���s���|�j�|dd���S�)Nc�������������S���s���|�|kS�)Nr���)r���r ���r���r���r���r!���?���s����z%_BaseVersion.__ne__.<locals>.<lambda>)r"���)r���r#���r���r���r����__ne__>���s����z_BaseVersion.__ne__c�������������C���s���t�|t�stS�||�j|j�S�)N)� isinstancer����NotImplementedr���)r���r#����methodr���r���r���r"���A���s���� z_BaseVersion._compareN)r���r���r���r���r$���r%���r&���r'���r(���r)���r"���r���r���r���r���r���*���s���r���c���������������@���s`���e�Zd�Zdd��Zdd��Zdd��Zedd���Zed d ���Zedd���Z ed d���Z edd���ZdS�)r ���c�������������C���s���t�|�|�_t|�j�|�_d�S�)N)�str�_version�_legacy_cmpkeyr���)r���r���r���r���r����__init__J���s���� zLegacyVersion.__init__c�������������C���s���|�j�S�)N)r.���)r���r���r���r����__str__N���s����zLegacyVersion.__str__c�������������C���s���dj�tt|����S�)Nz<LegacyVersion({0})>)�format�reprr-���)r���r���r���r����__repr__Q���s����zLegacyVersion.__repr__c�������������C���s���|�j�S�)N)r.���)r���r���r���r����publicT���s����zLegacyVersion.publicc�������������C���s���|�j�S�)N)r.���)r���r���r���r����base_versionX���s����zLegacyVersion.base_versionc�������������C���s���d�S�)Nr���)r���r���r���r���r���\���s����zLegacyVersion.localc�������������C���s���dS�)NFr���)r���r���r���r���� is_prerelease`���s����zLegacyVersion.is_prereleasec�������������C���s���dS�)NFr���)r���r���r���r����is_postreleased���s����zLegacyVersion.is_postreleaseN)r���r���r���r0���r1���r4����propertyr5���r6���r���r7���r8���r���r���r���r���r ���H���s���z(\d+ | [a-z]+ | \.| -)�czfinal-�@)r����preview�-�rcr���c�������������c���sb���xVt�j|��D�]H}tj||�}|�s|dkr,q|d�d��dkrJ|jd�V��qd|�V��qW�dV��d�S�)N�.r���� 0123456789�����*z*final)�_legacy_version_component_re�split�_legacy_version_replacement_map�get�zfill)r����partr���r���r����_parse_version_partsr���s����rI���c�������������C���s����d}g�}xlt�|�j���D�]\}|jd�rh|dk�rJx|rH|d�dkrH|j���q.W�x|rf|d�dkrf|j���qLW�|j|��qW�t|�}||fS�) Nr���rB���z*finalz*final-Z00000000���rJ���rJ���)rI����lower� startswith�pop�append�tuple)r���r ����partsrH���r���r���r���r/�������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|���e�Zd�Zejde�d�ejejB��Zdd��Z dd��Z dd��Zed d ���Z edd���Zed d���Zedd���Zedd���ZdS�)r���z^\s*z\s*$c���������� ���C���s����|�j�j|�}|stdj|���t|jd�r8t|jd��ndtdd��|jd�jd�D���t |jd�|jd ��t |jd �|jd�p�|jd��t |jd �|jd��t |jd��d�|�_t|�jj |�jj|�jj|�jj|�jj|�jj�|�_d�S�)NzInvalid version: '{0}'r ���r���c�������������s���s���|�]}t�|�V��qd�S�)N)�int)�.0�ir���r���r���� <genexpr>����s����z#Version.__init__.<locals>.<genexpr>r���r?���Zpre_lZpre_nZpost_lZpost_n1Zpost_n2Zdev_lZdev_nr���)r ���r���r���r���r���r���)�_regex�searchr ���r2���r����grouprQ���rO���rD����_parse_letter_version�_parse_local_versionr.����_cmpkeyr ���r���r���r���r���r���r���)r���r����matchr���r���r���r0�������s.���� zVersion.__init__c�������������C���s���dj�tt|����S�)Nz<Version({0})>)r2���r3���r-���)r���r���r���r���r4�������s����zVersion.__repr__c�������������C���s����g�}|�j�jdkr$|jdj|�j�j���|jdjdd��|�j�jD�����|�j�jd�k rl|jdjdd��|�j�jD�����|�j�jd�k r�|jdj|�j�jd ����|�j�jd�k r�|jd j|�j�jd ����|�j�j d�k r�|jdjdjdd��|�j�j D������dj|�S�) Nr���z{0}!r?���c�������������s���s���|�]}t�|�V��qd�S�)N)r-���)rR����xr���r���r���rT�������s����z"Version.__str__.<locals>.<genexpr>��c�������������s���s���|�]}t�|�V��qd�S�)N)r-���)rR���r\���r���r���r���rT�������s����z.post{0}r���z.dev{0}z+{0}c�������������s���s���|�]}t�|�V��qd�S�)N)r-���)rR���r\���r���r���r���rT�����s����) r.���r ���rN���r2����joinr���r���r���r���r���)r���rP���r���r���r���r1�������s���� zVersion.__str__c�������������C���s���t�|��jdd�d�S�)N�+r���r���)r-���rD���)r���r���r���r���r5��� ��s����zVersion.publicc�������������C���sL���g�}|�j�jdkr$|jdj|�j�j���|jdjdd��|�j�jD�����dj|�S�)Nr���z{0}!r?���c�������������s���s���|�]}t�|�V��qd�S�)N)r-���)rR���r\���r���r���r���rT�����s����z'Version.base_version.<locals>.<genexpr>r]���)r.���r ���rN���r2���r^���r���)r���rP���r���r���r���r6�����s ����zVersion.base_versionc�������������C���s$���t�|��}d|kr |jdd�d�S�d�S�)Nr_���r���)r-���rD���)r���Zversion_stringr���r���r���r�����s����z Version.localc�������������C���s���t�|�jjp|�jj�S�)N)�boolr.���r���r���)r���r���r���r���r7���!��s����zVersion.is_prereleasec�������������C���s���t�|�jj�S�)N)r`���r.���r���)r���r���r���r���r8���%��s����zVersion.is_postreleaseN)r���r���r����re�compiler����VERBOSE� IGNORECASErU���r0���r4���r1���r9���r5���r6���r���r7���r8���r���r���r���r���r�������s��� # c�������������C���sx���|�rZ|d�krd}|�j���}�|�dkr&d}�n(|�dkr4d}�n|�d krBd }�n|�dkrNd}�|�t|�fS�|��rt|rtd}�|�t|�fS�d�S�)Nr���Zalpha�aZbeta�br:���r���r<���r>����rev�rr���)r:���r���r<���)rg���rh���)rK���rQ���)ZletterZnumberr���r���r���rX���*��s ���� rX���z[\._-]c�������������C���s$���|�dk r t�dd��tj|��D���S�dS�)zR Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve"). Nc�������������s���s&���|�]}|j���s|j��nt|�V��qd�S�)N)�isdigitrK���rQ���)rR���rH���r���r���r���rT���R��s���z'_parse_local_version.<locals>.<genexpr>)rO����_local_version_seperatorsrD���)r���r���r���r���rY���L��s����rY���c�������������C���s����t�tttjdd��t|�����}|d�kr@|d�kr@|d�k r@t�}n|d�krLt}|d�krZt�}|d�krft}|d�krvt�}nt�dd��|D���}|�|||||fS�)Nc�������������S���s���|�dkS�)Nr���r���)r\���r���r���r���r!���`��s����z_cmpkey.<locals>.<lambda>c�������������s���s*���|�]"}t�|t�r|d�fnt�|fV��qdS�)r]���N)r*���rQ���r���)rR���rS���r���r���r���rT������s���z_cmpkey.<locals>.<genexpr>)rO����reversed�list� itertools� dropwhiler���)r ���r���r���r���r���r���r���r���r���rZ���W��s&���� rZ���)Z __future__r���r���r����collectionsrm���ra���Z_structuresr����__all__� namedtupler���r���� ValueErrorr ����objectr���r ���rb���rc���rC���rE���rI���r/���r���r���rX���rj���rY���rZ���r���r���r���r����<module>���s.���! 9k