
    y/Yh|              	           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ededefd	Zd
edefdZ	 dded
ee   dedefdZy)    )Optional)ArchiveInfo	DirectUrlDirInfoVcsInfo)Link)path_to_url)vcs
direct_urlnamereturnc                    | j                          |dz   }g }t        | j                  t              r@|| j                  j                   d| j
                   d| j                  j                   z  }nt        | j                  t              rK|| j
                  z  }| j                  j                  rQ|j                  | j                  j                         n+t        | j                  t              sJ || j
                  z  }| j                  r|j                  d| j                  z          |r|ddj                  |      z   z  }|S )z0Convert a DirectUrl to a pip requirement string.z @ +@zsubdirectory=#&)validate
isinstanceinfor   r
   url	commit_idr   hashappendr   subdirectoryjoin)r   r   requirement	fragmentss       g/var/www/html/profi_bot/bot/venv/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py%direct_url_as_pep440_direct_referencer   	   s   ,KI*//7+""#1Z^^$4Ajoo6O6O5PQ	
 
JOO[	1z~~%??Z__112*//7333z~~%:+B+BBCsSXXi000    
source_dirc                 B    t        t        |       t        d            S )NT)editable)r   r   )r   r	   r   )r!   s    r   direct_url_for_editabler$       s    
#d# r    Nlinklink_is_in_wheel_cachec                 D   | j                   rt        j                  | j                        }|sJ |j	                  | j
                        \  }}}|r|sJ |}n|sJ |j                  |      }t        |t        |j                  ||      | j                        S | j                         r*t        | j
                  t               | j                        S d }| j                  }	|	r|	 d| j                   }t        | j
                  t        |      | j                        S )N)r
   r   requested_revision)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_namer   r   )
r%   r!   r&   vcs_backendr   r(   _r   r   r2   s
             r   direct_url_from_linkr5   '   s)    {{00={%0%E%E%%&
" " &%%*I
 :#00<I$$##5
 33
 	
 
			))33
 	
 NN	[$))-D))$'33
 	
r    )NF)typingr   pip._internal.models.direct_urlr   r   r   r   pip._internal.models.linkr   pip._internal.utils.urlsr	   pip._internal.vcsr
   strr   r$   boolr5    r    r   <module>r>      st     T T * 0 !i s s . 	  RW0

0
$SM0
JN0
0
r    