U ʗRe @sddlmZddlmZmZmZmZddlmZddl m Z ddl m Z ee e dddZe ed d d Zdeee eedddZd S))Optional) ArchiveInfo DirectUrlDirInfoVcsInfo)Link) path_to_url)vcs) direct_urlnamereturncCs||d}g}t|jtr>|d|jj|j|jj7}nHt|jtrl||j7}|jj r| |jj nt|jt s|t ||j7}|j r| d|j |r|dd|7}|S)z0Convert a DirectUrl to a pip requirement string.z @ z{}+{}@{}z subdirectory=#&)validate isinstanceinforformatr url commit_idrhashappendrAssertionError subdirectoryjoin)r r requirement fragmentsr/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/utils/direct_url_helpers.py%direct_url_as_pep440_direct_reference s(    r) source_dirr cCstt|tdddS)NT)editable)rr)rrr)rrrrdirect_url_for_editable sr!NF)linkrlink_is_in_wheel_cacher c Cs|jrlt|j}|st||j\}}}|r>|s8t|}n|sFt||}t|t |j ||d|j dS| rt|jt |j dSd}|j} | r| d|j}t|jt|d|j dSdS)N)r rrequested_revision)rrr=)r)is_vcsr get_backend_for_schemeschemerget_url_rev_and_authurl_without_fragment get_revisionrrr subdirectory_fragmentis_existing_dirr hash_namerr) r"rr# vcs_backendrr$_rrr.rrrdirect_url_from_link'sF    r1)NF)typingrpip._internal.models.direct_urlrrrrpip._internal.models.linkrpip._internal.utils.urlsrpip._internal.vcsr strrr!boolr1rrrrs