Your IP : 216.73.216.196


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



,�?\� �@sddlmZddlZddlZddlZddlmZmZmZddl	m
Z
ddlmZm
Z
ddlmZddlmZd	Zd
Zd
Zddd�Zd
d�Zdd�Ze�ZGdd�de�Zejdedd�dd�Zdd�Zddd�Zddd�ZGdd�de �Z!d d!�Z"dd"dd"dd#d$�Z#d%d&�Z$d'd(�Z%d)d*�Z&d+d,�Z'd-d.�Z(dd/d0�Z)d1d2�Z*d3d4�Z+d5d6�Z,d7d8d9�Z-d:d;�Z.d<d=�Z/d>d?�Z0dS)@�)�print_functionN)�chain�repeat�islice�)�
Configuration)�trace�string_types)�iter_entry_points)�
parse_version��cCs(t|t|��}tt||��S)N)rr�listr)�iterable�size�padding�padded�r�G/opt/alt/python35/lib/python3.5/site-packages/setuptools_scm/version.py�_padsrcCs�t|t�s|n	t|�}|jj|�}d}|r�t|j��dkr`d}nd}d|j|�d|jd�d|j|��d|jd�|j	|�d�i}t
d||f�|S)Nr�version�prefixr�suffixztag '%s' parsed to %s)�
isinstancer	�str�	tag_regex�match�len�groups�group�start�endr)�tag�config�	tagstringr�result�keyrrr�_parse_version_tags!	"(r'cCs-td�}t|t�rdSt|�SdS)Nz1.0)�pkg_parse_versionr�tuple�type)�modern_versionrrr�_get_version_class-sr,c@seZdZdS)�SetuptoolsOutdatedWarningN)�__name__�
__module__�__qualname__rrrrr-8sr-�error�appendTcCs tdkrtjdt�dS)Nz your setuptools is too old (<12))�
VERSION_CLASS�warnings�warnr-rrrr�_warn_if_setuptools_outdated@sr6cCsXtd||f�t|�r#|Sx.t||�D]}td|j�|j�SWdS)N�epz	ep found:)r�callabler
�name�load)r�callable_or_namer7rrr�callable_or_entrypointEsr<cCs�td|�|st�}t||�}t|t�sN|jdd�rftjd|f�dS|d}td|�|jdd�r�tjd||df�tdk	r�t	|�}tdt
|��|S)	z�
    take a tag that might be prefixed with a keyword and return only the version part
    :param config: optional configuration object
    r"rNztag %r no version foundzversion pre parser�z*tag %r will be stripped of its suffix '%s')rrr'r�dict�getr4r5r3r(�repr)r"r#�tagdictrrrr�tag_to_versionPs 
	#

rBcCs@g}x3|D]+}t|d|�}|r
|j|�q
W|S)z�
    take tags that might be prefixed with a keyword and return only the version part
    :param tags: an iterable of tags
    :param config: optional configuration object
    r#)rBr2)�tagsr#r%r"rrr�tags_to_versionsns
rDc@s�eZdZddddddd�Zedd��Zedd��Zd	d
�Zdd�Zd
d�Z	ddd�Z
dS)�
ScmVersionNFcKs�|rtd|�||_|r4|dkr4d}||_||_tjj�|_||_||_||_	||_
dS)Nzunknown argsr)rr"�distance�node�datetime�now�time�_extra�dirty�preformatted�branch)�self�tag_versionrFrGrLrMrN�kwrrr�__init__~s

						zScmVersion.__init__cCs tjddtdd�|jS)Nz<ScmVersion.extra is deprecated and will be removed in future�category�
stacklevelr)r4r5�DeprecationWarningrK)rOrrr�extra�s
zScmVersion.extracCs
|jdkS)N)rF)rOrrr�exact�szScmVersion.exactcCs
|jd�S)Nz=<ScmVersion {tag} d={distance} n={node} d={dirty} b={branch}>)�format_with)rOrrr�__repr__�szScmVersion.__repr__cKsC|jd|jd|jd|jd|jd|jd|j|�S)NrJr"rFrGrLrN)�formatrJr"rFrGrLrN)rO�fmtrQrrrrX�s						zScmVersion.format_withcKs|j|jr|n||�S)N)rXrL)rO�clean_format�dirty_formatrQrrr�
format_choice�szScmVersion.format_choicez{guessed}.dev{distance}cKs%||j|�}|j|d|�S)N�guessed)r"rX)rO�
guess_nextr[rQr_rrr�format_next_version�szScmVersion.format_next_version)r.r/r0rR�propertyrVrWrYrXr^rarrrrrE|s	rEcCs9|r
|Stdks&t|t�r5t||�}|S)N)r3rrB)r"rMr#rrr�
_parse_tag�s
rcFcKsm|stjd�t|||�}td|d|�|dk	sTtd|��t||||||�S)NzNmeta invoked without explicit configuration, will use defaults where required.rz->zcant parse version %s)r4r5rcr�AssertionErrorrE)r"rFrLrGrMr#rQ�parsed_versionrrr�meta�srfcCs(tt|��}t|�p't|�S)N)�_strip_localr�	_bump_dev�_bump_regex)rPrrrr�guess_next_version�srjcCs|jd�\}}}|S)N�+)�	partition)�version_string�public�sep�localrrrrg�srgcCsDd|krdS|jdd�\}}|dks@td��|S)Nz.devr�0zown dev numbers are unsupported)�rsplitrd)rr�tailrrrrh�s
rhcCs6tjd|�j�\}}d|t|�dfS)Nz(.*?)(\d+)$z%s%dr)�rerr�int)rrrsrrrri�sricCs'|jr|jd�S|jt�SdS)Nz{tag})rWrXrarj)rrrr�guess_next_dev_version�s	
rvcCslttt|�jd��}t||d�}|rD|dd7<t|td�}djtt|��S)N�.rr���)�maprur�splitr�
SEMVER_LEN�join)r�retain�	increment�partsrrr�guess_next_simple_semver�sr�cCsj|jr"t|jdtdd�S|jdk	rSd|jkrS|jtdt�S|jtdt�SdS)Nr}r~F�feature)rWr�r"r{rNra�SEMVER_MINOR�SEMVER_PATCH)rrrr�simplified_semver_version�s	
r�cCsH|js|jdkr.|jddd|�S|jddd|�SdS)Nr=z+d{time:{time_format}}�time_formatz+{node}z+{node}.d{time:{time_format}})rWrGr^)rr�rrr�_format_local_with_times
r�cCst|dd�S)Nr�z%Y%m%d)r�)rrrr�get_local_node_and_datesr�z%Y%m%d%H%M%ScCst|d|�S)Nr�)r�)rr[rrr�get_local_node_and_timestampsr�cCs|jdd�S)Nr=z+dirty)r^)rrrr�get_local_dirty_tagsr�cCs'|jr|jd�S|jd�SdS)Nz{tag}z{tag}.post{distance})rWrX)rrrr�postrelease_versions	
r�cKs�td|�td|�|jr*|jStd|d�}td|d�}||�}td|�||�}td|�||�||�S)	Nzscm versionr#zsetuptools_scm.version_scheme�version_schemezsetuptools_scm.local_scheme�local_schemer�
local_version)rrMr"r<)rr#r�r��main_versionr�rrr�format_version%s

	

r�)1�
__future__rrHr4rt�	itertoolsrrrr#r�utilsrr	�
pkg_resourcesr
rr(r�r�r{rr'r,r3�Warningr-�simplefilterr6r<rBrD�objectrErcrfrjrgrhrirvr�r�r�r�r�r�r�r�rrrr�<module>sJ	>