2biSSKrSSKrSSKrSSKrSSKJrJrJrJr SSK J r SSK J r SSK JrJr SSKJr \R$"\5r\\ r\\ r\\ /\\ 4r\\ /\4r"SS5rS \S \4S jr"S S \5r"SS\5r"SS\5r"SS\5r S\S\S\S\S\S \\\\\44 Sjr!g)N)CallableIterableOptionalTuple)InstallationCandidate)Link) path_to_url url_to_path)is_urlcN\rSrSr\S\\4Sj5rS\4Sjr S\ 4Sjr Sr g) LinkSourcereturnc[5e)z,Returns the underlying link, if there's one.NotImplementedErrorselfs ڍ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_internal/index/sources.pylinkLinkSource.links "##c[5e)z9Candidates found by parsing an archive listing HTML file.rrs rpage_candidatesLinkSource.page_candidates !##rc[5e)z,Links found by specifying archives directly.rrs r file_linksLinkSource.file_linksrrN) __name__ __module__ __qualname____firstlineno__propertyrrrFoundCandidatesr FoundLinksr__static_attributes__r rrr r s7 $htn$$$$$J$rr file_urlrc8[R"USS9SS:H$)NF)strictrz text/html) mimetypes guess_type)r)s r _is_html_filer.#s    7 :k IIrch\rSrSrSrS\S\SS4Sjr\S\ \ 4Sj5r S\ 4S jr S\4S jrS rg) _FlatDirectorySource'zLink source specified by ``--find-links=``. This looks the content of the directory, and returns: * ``page_candidates``: Links listed on each HTML file in the directory. * ``file_candidates``: Archives in the directory. candidates_from_pagepathrNcXl[R"[RR U55UlgN)_candidates_from_pagepathlibPathosr3realpath_path)rr2r3s r__init___FlatDirectorySource.__init__0s) &:"\\"''"2"24"89 rcgr5r rs rr_FlatDirectorySource.link8src## URR5HKn[[U55n[ U5(dM)UR [ U55ShvN MM gN 7fr5)r;iterdirr strr.r6rrr3urls rr$_FlatDirectorySource.page_candidates<sUJJ&&(Dc$i(C %%11$s)< < < ) =sA!A/#A-$ A/c## URR5H6n[[U55n[ U5(aM)[ U5v M8 g7fr5)r;rAr rBr.rrCs rr_FlatDirectorySource.file_linksCsAJJ&&(Dc$i(CS!!s)O )sAA)r6r;)r!r"r#r$__doc__CandidatesFromPagerBr<r%rrrr&rr'rr(r rrr0r0's_:0::  :htn==Jrr0ch\rSrSrSrS\S\SS4Sjr\S\ \4Sj5r S\ 4S jr S\ 4S jrS rg) _LocalFileSourceKa/``--find-links=`` or ``--[extra-]index-url=``. If a URL is supplied, it must be a ``file:`` URL. If a path is supplied to the option, it is converted to a URL first. This returns: * ``page_candidates``: Links listed on an HTML file. * ``file_candidates``: The non-HTML file. r2rrNcXlX lgr5r6_linkrr2rs rr<_LocalFileSource.__init__U &:" rcUR$r5rOrs rr_LocalFileSource.link] zzrc## [URR5(dgURUR5ShvN gN7fr5)r.rOrDr6rs rr _LocalFileSource.page_candidatesas3TZZ^^,, --djj999sAAA Ac#r# [URR5(agURv g7fr5)r.rOrDrs rr_LocalFileSource.file_linksfs%  ( ( jjs57rNr!r"r#r$rHrIrr<r%rrr&rr'rr(r rrrKrKKs_0  htn:: JrrKcl\rSrSrSrS\S\S\SS4Sjr\ S\ \4S j5r S\ 4S jr S\4S jrS rg) _RemoteFileSourcelz``--find-links=`` or ``--[extra-]index-url=``. This returns: * ``page_candidates``: Links listed on an HTML file. * ``file_candidates``: The non-HTML file. r2page_validatorrrNc(XlX lX0lgr5)r6_page_validatorrO)rr2r_rs rr<_RemoteFileSource.__init__us &:"- rcUR$r5rTrs rr_RemoteFileSource.linkrVrc## URUR5(dgURUR5ShvN gN7fr5)rarOr6rs rr!_RemoteFileSource.page_candidatess5##DJJ// --djj999sAA AA c#(# URv g7fr5rTrs rr_RemoteFileSource.file_linkssjjs)r6rOra)r!r"r#r$rHrI PageValidatorrr<r%rrr&rr'rr(r rrr]r]lsi0&   htn:: Jrr]ch\rSrSrSrS\S\SS4Sjr\S\ \4Sj5r S\ 4S jr S\ 4S jrS rg) _IndexDirectorySourcez``--[extra-]index-url=``. This is treated like a remote URL; ``candidates_from_page`` contains logic for this by appending ``index.html`` to the link. r2rrNcXlX lgr5rNrPs rr<_IndexDirectorySource.__init__rRrcUR$r5rTrs rr_IndexDirectorySource.linkrVrc#V# URUR5ShvN gN7fr5rNrs rr%_IndexDirectorySource.page_candidatess--djj999s )')cg)Nr r rs rr _IndexDirectorySource.file_linkssrrNr[r rrrkrks_ 0  htn::Jrrklocationr2r_ expand_dircache_link_parsingc |SnSn[RRU5(a[U5nUnO6UR S5(aUn[ U5nO[ U5(aUnUcSn[RXp5 gUc[UU[XdS9S9nXh4$[RRU5(a(U(a [UUS9nXh4$[U[XdS9S9nXh4$[RRU5(a[U[XdS9S9nXh4$[RSU5 US4$) Nzfile:zVLocation '%s' is ignored: it is either a non-existing path or lacks a specific scheme.)NN)rw)r2r_r)r2r3)r2rz?Location '%s' is ignored: it is neither a file nor a directory.)r9r3existsr startswithr r loggerwarningr]risdirr0rkisfilerK) rur2r_rvrwr3rDmsgsources r build_sourcersIDC ww~~h(#   W % %8$    { K  s% |.!5)cA  } ww}}T )%9F} +%9#EF}   !!5cA } NNI ;r)"loggingr,r9r7typingrrrrpip._internal.models.candidaterpip._internal.models.linkrpip._internal.utils.urlsr r pip._internal.vcsr getLoggerr!r{r&r'rIboolrir rBr.r0rKr]rkrr rrrs 66@*=$   8 $01 d^ tfh/D&EEF$&  $ $JCJDJ!:!HzB @J499-9" 9  9  9 8C=(:. ./9r