o
    j#                     @  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	fragmentsZhash_algorithm
hash_value r#   g/var/www/html/Deteccion_Ine/venv/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    

