o
    Zh                     @  sv   d dl mZ d dlZg dZdZd Z ZZes9d dl	Z	d dl
Z
d dlZdd	d
ZeeZdddZeeeZdS dS )    )annotationsN)tagversioncommitTz15.0.1r   strreturnc              
     s"  t t  j jdkrdnd }ztjd}W n	 ty"   Y n w tj	d}|rB fdd|D }|rB|d }|
  krB|S ztjg dd|d	ddd
j }W n ttjtjfyb   Y n*w d}t||}|d u rvt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	   I/var/www/html/lang_env/lib/python3.10/site-packages/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   sP   
	

r3   r   c                 C  s@   d}t ||}|d u 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   )r   r   r   r   )r   r   r   r   r   r   )
__future__r   importlib.metadatar   __all__Zreleasedr   r   r   r   r*   r#   r3   r5   r	   r	   r	   r   <module>   s    
2
	