Viewing File: /opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyo

ó
“tĘ_c@sūddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZddlm
Z
ddlmZddlmZmZerįddlmZmZmZmZdd	lmZdd
lmZnde
fd„ƒYZdS(
i’’’’N(tparse(tWHEEL_EXTENSION(tredact_auth_from_urltsplit_auth_from_netloctsplitext(tKeyBasedCompareMixin(tMYPY_CHECK_RUNNING(tpath_to_urlturl_to_path(tOptionaltTexttTupletUnion(tHTMLPage(tHashestLinkcBs£eZdZddddddgZd"d"d"ed„Zd„Zd	„Ze	d
„ƒZ
e	d„ƒZe	d„ƒZe	d
„ƒZ
e	d„ƒZe	d„ƒZd„Ze	d„ƒZe	d„ƒZejdƒZe	d„ƒZejdƒZe	d„ƒZejdƒZe	d„ƒZe	d„ƒZe	d„ƒZe	d„ƒZd„Ze	d„ƒZe	d„ƒZ e	d„ƒZ!e	d „ƒZ"d!„Z#RS(#s?Represents a parsed link from a Package Index's simple URL
    t_parsed_urlt_urlt
comes_fromtrequires_pythont
yanked_reasontcache_link_parsingcCsŒ|jdƒrt|ƒ}ntj|ƒ|_||_||_|rN|nd|_||_	t
t|ƒjd|dtƒ||_
dS(s½
        :param url: url of the resource pointed to (href of the link)
        :param comes_from: instance of HTMLPage where the link was found,
            or string.
        :param requires_python: String containing the `Requires-Python`
            metadata field, specified in PEP 345. This may be specified by
            a data-requires-python attribute in the HTML link tag, as
            described in PEP 503.
        :param yanked_reason: the reason the file has been yanked, if the
            file has been yanked, or None if the file hasn't been yanked.
            This is the value of the "data-yanked" attribute, if present, in
            a simple repository HTML link. If the file has been yanked but
            no reason was provided, this should be the empty string. See
            PEP 592 for more information and the specification.
        :param cache_link_parsing: A flag that is used elsewhere to determine
                                   whether resources retrieved from this link
                                   should be cached. PyPI index urls should
                                   generally have this set to False, for
                                   example.
        s\\tkeytdefining_classN(t
startswithRturllib_parseturlsplitRRRtNoneRRtsuperRt__init__R(tselfturlRRRR((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyR$s			cCsc|jrdj|jƒ}nd}|jrLdjt|jƒ|j|ƒStt|jƒƒSdS(Ns (requires-python:{})ts{} (from {}){}(RtformatRRRtstr(Rtrp((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyt__str__Ss		cCs
dj|ƒS(Ns	<Link {}>(R!(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyt__repr___scCs|jS(N(R(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyRcscCsS|jjdƒ}tj|ƒ}|s@t|jƒ\}}|Stj|ƒ}|S(Nt/(tpathtrstript	posixpathtbasenameRtnetlocRtunquote(RR'tnameR+t	user_pass((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pytfilenamehscCs
t|jƒS(N(RR(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyt	file_pathxscCs
|jjS(N(Rtscheme(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyR1}scCs
|jjS(s4
        This can contain auth information.
        (RR+(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyR+‚scCstj|jjƒS(N(RR,RR'(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyR'ŠscCsttj|jjdƒƒƒS(NR&(RR)R*R'R((R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyRscCs|jƒdS(Ni(R(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pytext“scCs4|j\}}}}}tj||||dfƒS(N(RRt
urlunsplitR(RR1R+R'tquerytfragment((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyturl_without_fragment˜ss[#&]egg=([^&]*)cCs,|jj|jƒ}|sdS|jdƒS(Ni(t_egg_fragment_retsearchRRtgroup(Rtmatch((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pytegg_fragment ss[#&]subdirectory=([^&]*)cCs,|jj|jƒ}|sdS|jdƒS(Ni(t_subdirectory_fragment_reR8RRR9(RR:((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pytsubdirectory_fragmentŖss2(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)cCs,|jj|jƒ}|r(|jdƒSdS(Ni(t_hash_reR8RR9R(RR:((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pythash¶s
cCs,|jj|jƒ}|r(|jdƒSdS(Ni(R>R8RR9R(RR:((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyt	hash_name¾s
cCs0tj|jjddƒdjddƒdƒS(Nt#iit?(R)R*Rtsplit(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pytshow_urlĘscCs
|jdkS(Ntfile(R1(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pytis_fileĖscCs|jotjj|jƒS(N(RFtosR'tisdirR0(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pytis_existing_dirŠscCs
|jtkS(N(R2R(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pytis_wheelŌscCs ddlm}|j|jkS(Ni’’’’(tvcs(tpip._internal.vcsRKR1tall_schemes(RRK((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pytis_vcsŁscCs
|jdk	S(N(RR(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyt	is_yankedąscCs
|jdk	S(N(R@R(R((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pythas_hashåscCs3|dks|jrtS|j|jd|jƒS(sG
        Return True if the link has a hash and it is allowed.
        t
hex_digestN(RRPtFalsetis_hash_allowedR@R?(Rthashes((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyRSźsN($t__name__t
__module__t__doc__t	__slots__RtTrueRR$R%tpropertyRR/R0R1R+R'RR2R6tretcompileR7R;R<R=R>R?R@RDRFRIRJRNRORPRS(((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyRsL	)					(RGR)R[tpip._vendor.six.moves.urllibRRtpip._internal.utils.filetypesRtpip._internal.utils.miscRRRtpip._internal.utils.modelsRtpip._internal.utils.typingRtpip._internal.utils.urlsRRttypingR	R
RRtpip._internal.index.collectorR
tpip._internal.utils.hashesRR(((sJ/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/models/link.pyt<module>s"
Back to Directory File Manager