a
    њh                     @  s   d dl mZ d dlZg d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15.0.1str)r   returnc              
     s"  t t  j jdkrdnd }ztjd}W n tyD   Y n@0 tj	d}|r fdd|D }|r|d }|
  kr|S z$tjg dd|d	ddd
j }W n ttjtjfy   Y nT0 d}t||}|d u 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	   M/wd/webapps/venvs/v2025_4um/lib/python3.9/site-packages/websockets/version.py
<listcomp>.       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files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    
	
r5   )r   r   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_rer3   r   r	   r	   r   
get_commitS   s    
r7   )
__future__r   importlib.metadatar    __all__Zreleasedr   r   r   r   r,   r%   r5   r7   r	   r	   r	   r   <module>   s   2	