o
    6‘ði#  ã                   @  sn   d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZ ddd„Zddd„Z	dddd„ZdS )é    )Úannotations)ÚArchiveInfoÚ	DirectUrlÚDirInfoÚVcsInfo)ÚLink)Úpath_to_url)ÚvcsÚ
direct_urlr   ÚnameÚstrÚreturnc                 C  sÈ   |   ¡  |d }g }| jr|| jj› d| j› d| jj› �7 }n-| jrB|| j7 }| jjrAtt| jj 	¡ ƒƒ\}}| 
|› d|› �¡ n
| jsGJ ‚|| j7 }| jrW| 
d| j ¡ |rb|dd |¡ 7 }|S )z0Convert a DirectUrl to a pip requirement string.z @ ú+ú@ú=zsubdirectory=ú#ú&)ÚvalidateÚvcs_infor	   ÚurlÚ	commit_idÚarchive_infoÚhashesÚnextÚiterÚitemsÚappendÚdir_infoÚsubdirectoryÚjoin)r
   r   ÚrequirementÚ	fragmentsÚhash_algorithmÚ
hash_value© r$   úe/root/parts/websockify/install/lib/python3.10/site-packages/pip/_internal/utils/direct_url_helpers.pyÚ%direct_url_as_pep440_direct_reference	   s0   ÿÿ
ÿ€

r&   Ú
source_dirc                 C  s   t t| ƒtdd�d�S )NT)Úeditable)r   r   )r   r   r   )r'   r$   r$   r%   Údirect_url_for_editable$   s   þr)   NFÚlinkr   ú
str | NoneÚlink_is_in_wheel_cacheÚboolc           	      C  sÂ   | j r6t | j¡}|sJ ‚| | j¡\}}}|r|sJ ‚|}n	|s#J ‚| |¡}t|t|j	||d�| j
d�S |  ¡ rDt| jtƒ | j
d�S | jrS| jsLJ ‚| j| ji}nd }t| jt|d�| j
d�S )N)r	   r   Úrequested_revision)r   r   r   )r   r   r   )r   )r   r   r   )Úis_vcsr	   Úget_backend_for_schemeÚschemeÚget_url_rev_and_authÚurl_without_fragmentÚget_revisionr   r   r   Úsubdirectory_fragmentÚis_existing_dirr   Ú	hash_nameÚhashr   )	r*   r'   r,   Úvcs_backendr   r.   Ú_r   r   r$   r$   r%   Údirect_url_from_link+   sF   
ÿ
ýù	ý
ýr;   )r
   r   r   r   r   r   )r'   r   r   r   )NF)r*   r   r'   r+   r,   r-   r   r   )Ú
__future__r   Úpip._internal.models.direct_urlr   r   r   r   Úpip._internal.models.linkr   Úpip._internal.utils.urlsr   Úpip._internal.vcsr	   r&   r)   r;   r$   r$   r$   r%   Ú<module>   s    

ÿ