
    Qh                    v    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ZddZ	 d	 	 	 	 	 	 	 dd	Zy)    )annotations)ArchiveInfo	DirectUrlDirInfoVcsInfo)Link)path_to_url)vcsc                   | 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)
direct_urlnamerequirement	fragmentss       b/var/www/teggl/fontify/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    c                B    t        t        |       t        d            S )NT)editable)r   r   )r   r	   r   )
source_dirs    r   direct_url_for_editabler#       s    
#d# r   Nc                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   )
linkr"   link_is_in_wheel_cachevcs_backendr   r%   _r   r   r/   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   )r   r   r   strreturnr5   )r"   r5   r6   r   )NF)r0   r   r"   z
str | Noner1   boolr6   r   )
__future__r   pip._internal.models.direct_urlr   r   r   r   pip._internal.models.linkr   pip._internal.utils.urlsr	   pip._internal.vcsr
   r   r#   r4    r   r   <module>r>      sM    " T T * 0 !. OT0

0
&0
GK0
0
r   