R`i d dl mZ d dlmZmZmZmZ d dlmZ d dl m Z d dlmZ dede de fd Zd e defdZ dd ed ee dedefdZy) )Optional)ArchiveInfo DirectUrlDirInfoVcsInfo)Link)path_to_url)vcs direct_urlnamereturnc | j |dz }g }t | j t rI|dj | j j | j | j j z }nt | j t rK|| j z }| j j rQ|j | j j n+t | j t sJ || j z }| j r|j d| j z |r|ddj | z z }|S )z0Convert a DirectUrl to a pip requirement string.z @ z{}+{}@{}z subdirectory=#&)validate isinstanceinfor formatr url commit_idr hashappendr subdirectoryjoin)r r requirement fragmentss /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py%direct_url_as_pep440_direct_referencer s ,KI*//7+z((OO1J1J JOO[ 1z~~%??Z__112*//7333z~~%:+B+BBCsSXXi000 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 Nlinklink_is_in_wheel_cachec D | j rt j | j }|sJ |j | j \ }}}|r|sJ |}n|sJ |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_schemeschemeget_url_rev_and_authurl_without_fragmentget_revisionr r r subdirectory_fragmentis_existing_dirr hash_namer r ) r$ r r% vcs_backendr r' _r r r1 s r direct_url_from_linkr4 ' s) {{00={%0%E%E%%& " " &%%*I :#00