
    eg              	           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              rI|dj	                  | j                  j
                  | j                  | 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{}+{}@{}zsubdirectory=#&)validate
isinstanceinfor   formatr
   url	commit_idr   hashappendr   subdirectoryjoin)r   r   requirement	fragmentss       /var/www/html/FastMealFinder_FlaskServer-InitialRelease/venv/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py%direct_url_as_pep440_direct_referencer   	   s   ,KI*//7+z((OO1J1J
 	
 
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   r1   s
             r   direct_url_from_linkr4   '   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#   boolr4    r   r   <module>r=      st     T T * 0 !i s s . 	  RW0

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