U
    g                     @  s   d dl mZ d dlZdddgZdZd Z ZZes~d dl	Z	d dl
Z
d dlZddd	d
dZeeZddddddZeeeZdS )    )annotationsNtagversioncommitTz13.1str)r   returnc              
     s,  t t  j jdkrdnd }ztjd}W n tk
rF   Y n@X tj	d}|r fdd|D }|r|d }|
  kr|S z*tjddd	d
dgd|ddddj }W n ttjtjfk
r   Y nTX d}t||}|d krtd| | \}	}
|
dd}
|  d|	 d|
 S |  dS )Nzsetup.pyr      Z
websocketsc                   s   g | ]}|j  j kr|qS  )name).0f	file_pathr	   6/tmp/pip-unpacked-wheel-dx_q7dq3/websockets/version.py
<listcomp>.   s      zget_version.<locals>.<listcomp>gitZdescribez--dirtyz--tagsz--longT   )capture_outputcwdtimeoutchecktextz+[0-9.]+-([0-9]+)-(g[0-9a-f]{7,}(?:-dirty)?)zUnexpected git description: -.z.dev+z.dev0+gunknown)pathlibPath__file__parentsr
   	importlibmetadatar   ImportErrorfilesZlocate
subprocessrunstdoutstripFileNotFoundErrorCalledProcessErrorTimeoutExpiredre	fullmatch
ValueErrorgroupsreplace)r   root_dirr   r"   Zversion_filesZversion_filedescriptionZdescription_rematchZdistance	remainderr	   r   r   get_version   sH    
	r3   )r   r   r   c                 C  s@   d}t ||}|d kr&td| | \}|dkr<| S |S )Nz7[0-9.]+\.dev[0-9]+\+g([0-9a-f]{7,}|unknown)(?:\.dirty)?zUnexpected version: unknown)r*   r+   r,   r-   )r   r   Z
version_rer1   r   r	   r	   r   
get_commitS   s    
r5   )
__future__r   importlib.metadatar   __all__Zreleasedr   r   r   r   r*   r#   r3   r5   r	   r	   r	   r   <module>   s   
2	