ok

Mini Shell

Direktori : /opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/
Upload File :
Current File : //opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyc

�
Bu�_c@`s�ddlmZmZmZddlZddlZddlZddlZddlm	Z	m
Z
ddlmZddl
mZddlmZmZmZer ddlmZmZmZmZmZmZmZmZmZeeefZeeeefZeeege fZ!nd	e"fd
��YZ#de
ej$e%�fd��YZ&d
e&fd��YZ'de'fd��YZ(d�Z)de'fd��YZ*ej+d�Z,d�Z-d�Z.de&fd��YZ/dS(i(tabsolute_importtdivisiontprint_functionNi(tstring_typestwith_metaclass(t
TYPE_CHECKING(tcanonicalize_version(tVersiont
LegacyVersiontparse(	tListtDicttUniontIterabletIteratortOptionaltCallabletTuplet	FrozenSettInvalidSpecifiercB`seZdZRS(sH
    An invalid specifier was found, users should refer to PEP 440.
    (t__name__t
__module__t__doc__(((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR"st
BaseSpecifiercB`s�eZejd��Zejd��Zejd��Zejd��Zejd��Z	e	j
d��Z	ejdd��Zejdd��Z
RS(	cC`sdS(s�
        Returns the str representation of this Specifier like object. This
        should be representative of the Specifier itself.
        N((tself((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt__str__)scC`sdS(sF
        Returns a hash value for this Specifier like object.
        N((R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt__hash__1scC`sdS(sq
        Returns a boolean representing whether or not the two Specifier like
        objects are equal.
        N((Rtother((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt__eq__8scC`sdS(su
        Returns a boolean representing whether or not the two Specifier like
        objects are not equal.
        N((RR((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt__ne__@scC`sdS(sg
        Returns whether or not pre-releases as a whole are allowed by this
        specifier.
        N((R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pytprereleasesHscC`sdS(sd
        Sets whether or not pre-releases as a whole are allowed by this
        specifier.
        N((Rtvalue((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRPscC`sdS(sR
        Determines if the given item is contained within this specifier.
        N((RtitemR((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pytcontainsXscC`sdS(s�
        Takes an iterable of items and filters them so that only items which
        are contained within this specifier are allowed in it.
        N((RtiterableR((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pytfilter_sN(RRtabctabstractmethodRRRRtabstractpropertyRtsettertNoneR!R#(((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR(st_IndividualSpecifiercB`s�eZiZddd�Zd�Zd�Zed��Zd�Z	d�Z
d�Zd�Zd	�Z
ed
��Zed��Zed��Zejd
��Zd�Zdd�Zdd�ZRS(tcC`sj|jj|�}|s0tdj|���n|jd�j�|jd�j�f|_||_dS(NsInvalid specifier: '{0}'toperatortversion(t_regextsearchRtformattgrouptstript_spect_prereleases(RtspecRtmatch((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt__init__lscC`sF|jdk	r!dj|j�nd}dj|jjt|�|�S(Ns, prereleases={0!r}R*s<{0}({1!r}{2})>(R3R(R/Rt	__class__Rtstr(Rtpre((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt__repr__zs!cC`sdj|j�S(Ns{0}{1}(R/R2(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�scC`s|jdt|jd�fS(Nii(R2R(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_canonical_spec�scC`s
t|j�S(N(thashR;(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�scC`sft|t�r@y|jt|��}WqVtk
r<tSXnt||j�sVtS|j|jkS(N(t
isinstanceRR7R8RtNotImplementedR;(RR((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�s
cC`sft|t�r@y|jt|��}WqVtk
r<tSXnt||j�sVtS|j|jkS(N(R=RR7R8RR>R2(RR((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�s
cC`s#t|dj|j|��}|S(Ns_compare_{0}(tgetattrR/t
_operators(Rtoptoperator_callable((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt
_get_operator�scC`s(t|ttf�s$t|�}n|S(N(R=RRR	(RR,((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_coerce_version�scC`s|jdS(Ni(R2(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR+�scC`s|jdS(Ni(R2(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR,�scC`s|jS(N(R3(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�scC`s
||_dS(N(R3(RR((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�scC`s
|j|�S(N(R!(RR ((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt__contains__�scC`s]|dkr|j}n|j|�}|jr;|r;tS|j|j�}|||j�S(N(R(RRDt
is_prereleasetFalseRCR+R,(RR Rtnormalized_itemRB((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR!�scc`s�t}g}i|dk	r!|ntd6}xf|D]^}|j|�}|j||�r2|jr�|pn|jr�|j|�q�t}|Vq2q2W|r�|r�x|D]}|Vq�WndS(NR(RGR(tTrueRDR!RFRtappend(RR"Rtyieldedtfound_prereleasestkwR,tparsed_version((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR#�s
	

N(RRR@R(R6R:RtpropertyR;RRRRCRDR+R,RR'RER!R#(((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR)hs"	
							tLegacySpecifiercB`s�eZdZejdedejejB�Zidd6dd6dd6d	d
6dd6d
d6Zd�Z	d�Z
d�Zd�Zd�Z
d�Zd�ZRS(s�
        (?P<operator>(==|!=|<=|>=|<|>))
        \s*
        (?P<version>
            [^,;\s)]* # Since this is a "legacy" specifier, and the version
                      # string can be just about anything, we match everything
                      # except for whitespace, a semi-colon for marker support,
                      # a closing paren since versions can be enclosed in
                      # them, and a comma since it's a version separator.
        )
        s^\s*s\s*$tequals==t	not_equals!=tless_than_equals<=tgreater_than_equals>=t	less_thant<tgreater_thant>cC`s(t|t�s$tt|��}n|S(N(R=RR8(RR,((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRD scC`s||j|�kS(N(RD(RtprospectiveR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_compare_equal&scC`s||j|�kS(N(RD(RRYR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_compare_not_equal*scC`s||j|�kS(N(RD(RRYR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_compare_less_than_equal.scC`s||j|�kS(N(RD(RRYR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_compare_greater_than_equal2scC`s||j|�kS(N(RD(RRYR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_compare_less_than6scC`s||j|�kS(N(RD(RRYR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_compare_greater_than:s(RRt
_regex_strtretcompiletVERBOSEt
IGNORECASER-R@RDRZR[R\R]R^R_(((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRPs $
						c`s"tj���fd��}|S(Nc`s#t|t�stS�|||�S(N(R=RRG(RRYR4(tfn(sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pytwrappedCs(t	functoolstwraps(ReRf((ResQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_require_version_compare?st	SpecifiercB`seZdZejdedejejB�Zidd6dd6dd6d	d
6dd6d
d6dd6dd6Ze	d��Z
e	d��Ze	d��Ze	d��Z
e	d��Ze	d��Ze	d��Zd�Zed��Zejd��ZRS(s
        (?P<operator>(~=|==|!=|<=|>=|<|>|===))
        (?P<version>
            (?:
                # The identity operators allow for an escape hatch that will
                # do an exact string match of the version you wish to install.
                # This will not be parsed by PEP 440 and we cannot determine
                # any semantic meaning from it. This operator is discouraged
                # but included entirely as an escape hatch.
                (?<====)  # Only match for the identity operator
                \s*
                [^\s]*    # We just match everything, except for whitespace
                          # since we are only testing for strict identity.
            )
            |
            (?:
                # The (non)equality operators allow for wild card and local
                # versions to be specified so we have to define these two
                # operators separately to enable that.
                (?<===|!=)            # Only match for equals and not equals

                \s*
                v?
                (?:[0-9]+!)?          # epoch
                [0-9]+(?:\.[0-9]+)*   # release
                (?:                   # pre release
                    [-_\.]?
                    (a|b|c|rc|alpha|beta|pre|preview)
                    [-_\.]?
                    [0-9]*
                )?
                (?:                   # post release
                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
                )?

                # You cannot use a wild card and a dev or local version
                # together so group them with a | and make them optional.
                (?:
                    (?:[-_\.]?dev[-_\.]?[0-9]*)?         # dev release
                    (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local
                    |
                    \.\*  # Wild card syntax of .*
                )?
            )
            |
            (?:
                # The compatible operator requires at least two digits in the
                # release segment.
                (?<=~=)               # Only match for the compatible operator

                \s*
                v?
                (?:[0-9]+!)?          # epoch
                [0-9]+(?:\.[0-9]+)+   # release  (We have a + instead of a *)
                (?:                   # pre release
                    [-_\.]?
                    (a|b|c|rc|alpha|beta|pre|preview)
                    [-_\.]?
                    [0-9]*
                )?
                (?:                                   # post release
                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
                )?
                (?:[-_\.]?dev[-_\.]?[0-9]*)?          # dev release
            )
            |
            (?:
                # All other operators only allow a sub set of what the
                # (non)equality operators do. Specifically they do not allow
                # local versions to be specified nor do they allow the prefix
                # matching wild cards.
                (?<!==|!=|~=)         # We have special cases for these
                                      # operators so we want to make sure they
                                      # don't match here.

                \s*
                v?
                (?:[0-9]+!)?          # epoch
                [0-9]+(?:\.[0-9]+)*   # release
                (?:                   # pre release
                    [-_\.]?
                    (a|b|c|rc|alpha|beta|pre|preview)
                    [-_\.]?
                    [0-9]*
                )?
                (?:                                   # post release
                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
                )?
                (?:[-_\.]?dev[-_\.]?[0-9]*)?          # dev release
            )
        )
        s^\s*s\s*$t
compatibles~=RQs==RRs!=RSs<=RTs>=RURVRWRXt	arbitrarys===cC`sfdjttjd�t|���d �}|d7}|jd�||�oe|jd�||�S(Nt.cS`s|jd�o|jd�S(Ntposttdev(t
startswith(tx((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt<lambda>�si����s.*s>=s==(tjointlistt	itertoolst	takewhilet_version_splitRC(RRYR4tprefix((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_compare_compatible�s


$c	C`s�|jd�rot|j�}t|d �}tt|��}|t|� }t||�\}}||kSt|�}|js�t|j�}n||kSdS(Ns.*i����(tendswithRtpublicRwR8tlent_pad_versiontlocal(	RRYR4t
split_spectsplit_prospectivetshortened_prospectivetpadded_spectpadded_prospectivetspec_version((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRZ�s
	cC`s|j||�S(N(RZ(RRYR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR[�scC`st|j�t|�kS(N(RR{(RRYR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR\scC`st|j�t|�kS(N(RR{(RRYR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR]
scC`sXt|�}||kstS|jrT|jrTt|j�t|j�krTtSntS(N(RRGRFtbase_versionRI(RRYtspec_strR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR^scC`s�t|�}||kstS|jrT|jrTt|j�t|j�krTtSn|jdk	r�t|j�t|j�kr�tSntS(N(RRGtis_postreleaseR�R~R(RI(RRYR�R4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR_1scC`s"t|�j�t|�j�kS(N(R8tlower(RRYR4((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt_compare_arbitraryRscC`ss|jdk	r|jS|j\}}|dkro|dkrY|jd�rY|d }nt|�jrotSntS(	Ns==s>=s<=s~=s===s.*i����(s==s>=s<=s~=s===(R3R(R2RzR	RFRIRG(RR+R,((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRVs
cC`s
||_dS(N(R3(RR((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRps(RRR`RaRbRcRdR-R@RiRyRZR[R\R]R^R_R�RORR'(((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRjMs*]$
)		!	s^([0-9]+)((?:a|b|c|rc)[0-9]+)$cC`s\g}xO|jd�D]>}tj|�}|rG|j|j��q|j|�qW|S(NRm(tsplitt
_prefix_regexR.textendtgroupsRJ(R,tresultR R5((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRwysc	C`sgg}}|jttjd�|���|jttjd�|���|j|t|d��|j|t|d��|jddgtdt|d�t|d���|jddgtdt|d�t|d���ttj|��ttj|��fS(NcS`s
|j�S(N(tisdigit(Rq((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRr�scS`s
|j�S(N(R�(Rq((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRr�siit0(RJRtRuRvR|tinserttmaxtchain(tlefttrightt
left_splittright_split((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR}�s
""88tSpecifierSetcB`s�eZddd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zed
��Z
e
jd��Z
d�Zdd
�Zdd�ZRS(R*cC`s�g|jd�D]}|j�r|j�^q}t�}xL|D]D}y|jt|��WqDtk
r�|jt|��qDXqDWt|�|_||_	dS(Nt,(
R�R1tsettaddRjRRPt	frozensett_specsR3(Rt
specifiersRtstsplit_specifierstparsedt	specifier((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR6�s4	

cC`s=|jdk	r!dj|j�nd}djt|�|�S(Ns, prereleases={0!r}R*s<SpecifierSet({0!r}{1})>(R3R(R/RR8(RR9((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR:�s!cC`s djtd�|jD���S(NR�cs`s|]}t|�VqdS(N(R8(t.0R�((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pys	<genexpr>�s(RstsortedR�(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�scC`s
t|j�S(N(R<R�(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�scC`s�t|t�rt|�}nt|t�s1tSt�}t|j|jB�|_|jdkr�|jdk	r�|j|_nZ|jdk	r�|jdkr�|j|_n-|j|jkr�|j|_ntd��|S(NsFCannot combine SpecifierSets with True and False prerelease overrides.(	R=RR�R>R�R�R3R(t
ValueError(RRR�((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt__and__�s		cC`sMt|ttf�r*tt|��}nt|t�s=tS|j|jkS(N(R=RR)R�R8R>R�(RR((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�s
cC`sMt|ttf�r*tt|��}nt|t�s=tS|j|jkS(N(R=RR)R�R8R>R�(RR((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�s
cC`s
t|j�S(N(R|R�(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt__len__�scC`s
t|j�S(N(titerR�(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt__iter__�scC`s:|jdk	r|jS|js#dStd�|jD��S(Ncs`s|]}|jVqdS(N(R(R�R�((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pys	<genexpr>s(R3R(R�tany(R((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR�s
	cC`s
||_dS(N(R3(RR((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyRscC`s
|j|�S(N(R!(RR ((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyREsc`spt�ttf�s$t���n�dkr<|j�n�rP�jrPtSt��fd�|j	D��S(Nc3`s$|]}|j�d��VqdS(RN(R!(R�R�(R R(sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pys	<genexpr>*s(
R=RRR	R(RRFRGtallR�(RR R((R RsQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR!scC`s|dkr|j}n|jrTx,|jD]!}|j|dt|��}q+W|Sg}g}x�|D]{}t|ttf�s�t|�}n|}t|t�r�qgn|j	r�|r�|s�|j
|�q�qg|j
|�qgW|r|r|dkr|S|SdS(NR(R(RR�R#tboolR=RRR	RFRJ(RR"RR4tfilteredRLR RN((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR#,s*
	
N(RRR(R6R:RRR�RRR�R�RORR'RER!R#(((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyR��s	
										(0t
__future__RRRR$RgRuRat_compatRRt_typingRtutilsRR,RRR	ttypingR
RRR
RRRRRt
ParsedVersionR8tUnparsedVersionR�tCallableOperatorR�RtABCMetatobjectRR)RPRiRjRbR�RwR}R�(((sQ/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/packaging/specifiers.pyt<module>s0@"@�8	�*		

Zerion Mini Shell 1.0