zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
U
G=®dÊ.ã    @sþddlmZmZmZddlZddlZddlZddlmZddddd    gZ    e 
d
d d d dddg¡Z dd„Z Gdd„de ƒZGdd„deƒZGdd„deƒZe dej¡ZddddddœZdd„Zdd„ZdZGd d„deƒZd!d"„Ze d#¡Zd$d%„Zd&d'„ZdS)(é)Úabsolute_importÚdivisionÚprint_functionNé)ÚInfinityÚparseÚVersionÚ LegacyVersionÚInvalidVersionÚVERSION_PATTERNÚ_VersionÚepochÚreleaseÚdevÚpreÚpostÚlocalcCs,z
t|ƒWStk
r&t|ƒYSXdS)zÑ
    Parse the given version string and return either a :class:`Version` object
    or a :class:`LegacyVersion` object depending on if the given version is
    a valid PEP 440 version or a legacy version.
    N)rr
r    )Úversion©rú[D:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\setuptools/_vendor/packaging/version.pyrs
c@seZdZdZdS)r
zF
    An invalid version was found, users should refer to PEP 440.
    N)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrrrr
!sc@sLeZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dS)Ú _BaseVersioncCs
t|jƒS©N)ÚhashÚ_key©ÚselfrrrÚ__hash__(sz_BaseVersion.__hash__cCs| |dd„¡S)NcSs||kSrr©ÚsÚorrrÚ<lambda>,óz%_BaseVersion.__lt__.<locals>.<lambda>©Ú_compare©rÚotherrrrÚ__lt__+sz_BaseVersion.__lt__cCs| |dd„¡S)NcSs||kSrrr!rrrr$/r%z%_BaseVersion.__le__.<locals>.<lambda>r&r(rrrÚ__le__.sz_BaseVersion.__le__cCs| |dd„¡S)NcSs||kSrrr!rrrr$2r%z%_BaseVersion.__eq__.<locals>.<lambda>r&r(rrrÚ__eq__1sz_BaseVersion.__eq__cCs| |dd„¡S)NcSs||kSrrr!rrrr$5r%z%_BaseVersion.__ge__.<locals>.<lambda>r&r(rrrÚ__ge__4sz_BaseVersion.__ge__cCs| |dd„¡S)NcSs||kSrrr!rrrr$8r%z%_BaseVersion.__gt__.<locals>.<lambda>r&r(rrrÚ__gt__7sz_BaseVersion.__gt__cCs| |dd„¡S)NcSs||kSrrr!rrrr$;r%z%_BaseVersion.__ne__.<locals>.<lambda>r&r(rrrÚ__ne__:sz_BaseVersion.__ne__cCst|tƒstS||j|jƒSr)Ú
isinstancerÚNotImplementedr)rr)Úmethodrrrr'=s
z_BaseVersion._compareN) rrrr r*r+r,r-r.r/r'rrrrr'src@s¨eZdZdd„Zdd„Zdd„Zedd„ƒZed    d
„ƒZed d „ƒZ    ed d„ƒZ
edd„ƒZ edd„ƒZ edd„ƒZ edd„ƒZedd„ƒZedd„ƒZedd„ƒZdS)r    cCst|ƒ|_t|jƒ|_dSr)ÚstrÚ_versionÚ_legacy_cmpkeyr)rrrrrÚ__init__Es
zLegacyVersion.__init__cCs|jSr©r4rrrrÚ__str__IszLegacyVersion.__str__cCsd tt|ƒƒ¡S)Nz<LegacyVersion({0})>©ÚformatÚreprr3rrrrÚ__repr__LszLegacyVersion.__repr__cCs|jSrr7rrrrÚpublicOszLegacyVersion.publiccCs|jSrr7rrrrÚ base_versionSszLegacyVersion.base_versioncCsdS)Néÿÿÿÿrrrrrr WszLegacyVersion.epochcCsdSrrrrrrr[szLegacyVersion.releasecCsdSrrrrrrr_szLegacyVersion.precCsdSrrrrrrrcszLegacyVersion.postcCsdSrrrrrrrgszLegacyVersion.devcCsdSrrrrrrrkszLegacyVersion.localcCsdS©NFrrrrrÚ is_prereleaseoszLegacyVersion.is_prereleasecCsdSr@rrrrrÚis_postreleasesszLegacyVersion.is_postreleasecCsdSr@rrrrrÚ is_devreleasewszLegacyVersion.is_devreleaseN)rrrr6r8r<Úpropertyr=r>r rrrrrrArBrCrrrrr    Ds2
 
 
 
 
 
 
 
 
 
z(\d+ | [a-z]+ | \.| -)Úczfinal-ú@)rÚpreviewú-Úrcrccs\t |¡D]F}t ||¡}|r
|dkr(q
|dd…dkrF| d¡Vq
d|Vq
dVdS)NÚ.rÚ
0123456789éÚ*ú*final)Ú_legacy_version_component_reÚsplitÚ_legacy_version_replacement_mapÚgetÚzfill)r"ÚpartrrrÚ_parse_version_parts‡s   rUcCszd}g}t| ¡ƒD]T}| d¡r^|dkrD|rD|ddkrD| ¡q*|r^|ddkr^| ¡qD| |¡qt|ƒ}||fS)Nr?rMrNz*final-Ú00000000)rUÚlowerÚ
startswithÚpopÚappendÚtuple)rr ÚpartsrTrrrr5˜s
 
 
 r5a—
    v?
    (?:
        (?:(?P<epoch>[0-9]+)!)?                           # epoch
        (?P<release>[0-9]+(?:\.[0-9]+)*)                  # release segment
        (?P<pre>                                          # pre-release
            [-_\.]?
            (?P<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
            [-_\.]?
            (?P<pre_n>[0-9]+)?
        )?
        (?P<post>                                         # post release
            (?:-(?P<post_n1>[0-9]+))
            |
            (?:
                [-_\.]?
                (?P<post_l>post|rev|r)
                [-_\.]?
                (?P<post_n2>[0-9]+)?
            )
        )?
        (?P<dev>                                          # dev release
            [-_\.]?
            (?P<dev_l>dev)
            [-_\.]?
            (?P<dev_n>[0-9]+)?
        )?
    )
    (?:\+(?P<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))?       # local version
c@sÄeZdZe dedejejB¡Zdd„Z    dd„Z
dd„Z e d    d
„ƒZ e d d „ƒZe d d„ƒZe dd„ƒZe dd„ƒZe dd„ƒZe dd„ƒZe dd„ƒZe dd„ƒZe dd„ƒZe dd„ƒZdS) rz^\s*z\s*$c
Csà|j |¡}|std |¡ƒ‚t| d¡r8t| d¡ƒndtdd„| d¡ d¡Dƒƒt    | d¡| d    ¡ƒt    | d
¡| d ¡p†| d ¡ƒt    | d ¡| d¡ƒt
| d¡ƒd|_ t |j j |j j|j j|j j|j j|j jƒ|_dS)NzInvalid version: '{0}'r rcss|]}t|ƒVqdSr)Úint©Ú.0ÚirrrÚ    <genexpr>âsz#Version.__init__.<locals>.<genexpr>rrJÚpre_lÚpre_nÚpost_lÚpost_n1Úpost_n2Údev_lÚdev_nr©r rrrrr)Ú_regexÚsearchr
r:r Úgroupr]r[rPÚ_parse_letter_versionÚ_parse_local_versionr4Ú_cmpkeyr rrrrrr)rrÚmatchrrrr6Ùs, ÿ ø úzVersion.__init__cCsd tt|ƒƒ¡S)Nz<Version({0})>r9rrrrr<õszVersion.__repr__cCsÀg}|jdkr | d |j¡¡| d dd„|jDƒ¡¡|jdk    rb| d dd„|jDƒ¡¡|jdk    r~| d |j¡¡|jdk    rš| d     |j¡¡|jdk    r¶| d
 |j¡¡d |¡S) Nrú{0}!rJcss|]}t|ƒVqdSr©r3©r_Úxrrrrasz"Version.__str__.<locals>.<genexpr>Úcss|]}t|ƒVqdSrrrrsrrrrasz.post{0}z.dev{0}z+{0})    r rZr:Újoinrrrrr©rr\rrrr8øs
 
 
 
 
zVersion.__str__cCs|jjSr)r4r rrrrr sz Version.epochcCs|jjSr)r4rrrrrrszVersion.releasecCs|jjSr)r4rrrrrrsz Version.precCs|jjr|jjdSdS©Nr)r4rrrrrr sz Version.postcCs|jjr|jjdSdSrx)r4rrrrrr$sz Version.devcCs(|jjr d dd„|jjDƒ¡SdSdS)NrJcss|]}t|ƒVqdSrrrrsrrrra+sz Version.local.<locals>.<genexpr>)r4rrvrrrrr(sz Version.localcCst|ƒ dd¡dS)Nú+rr)r3rPrrrrr=/szVersion.publiccCsFg}|jdkr | d |j¡¡| d dd„|jDƒ¡¡d |¡S)NrrqrJcss|]}t|ƒVqdSrrrrsrrrra<sz'Version.base_version.<locals>.<genexpr>ru)r rZr:rvrrwrrrr>3s
 
zVersion.base_versioncCs|jdk    p|jdk    Sr)rrrrrrrA@szVersion.is_prereleasecCs
|jdk    Sr)rrrrrrBDszVersion.is_postreleasecCs
|jdk    Sr)rrrrrrCHszVersion.is_devreleaseN)rrrÚreÚcompiler ÚVERBOSEÚ
IGNORECASErjr6r<r8rDr rrrrrr=r>rArBrCrrrrrÕs4
 
 
 
 
 
 
 
 
 
cCsv|rZ|dkrd}| ¡}|dkr&d}n(|dkr4d}n|dkrBd}n |dkrNd    }|t|ƒfS|sr|rrd    }|t|ƒfSdS)
NrÚalphaÚaÚbetaÚb)rErrGrI)ÚrevÚrr)rWr])ÚletterÚnumberrrrrmMs  rmz[\._-]cCs$|dk    r tdd„t |¡DƒƒSdS)zR
    Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
    Ncss&|]}| ¡s| ¡nt|ƒVqdSr)ÚisdigitrWr])r_rTrrrratsÿz'_parse_local_version.<locals>.<genexpr>)r[Ú_local_version_separatorsrP)rrrrrnosþrncCs˜tttt dd„t|ƒ¡ƒƒƒ}|dkr@|dkr@|dk    r@t }n |dkrLt}|dkrZt }|dkrft}|dkrvt }ntdd„|Dƒƒ}||||||fS)NcSs|dkS)Nrr)rtrrrr$r%z_cmpkey.<locals>.<lambda>css*|]"}t|tƒr|dfnt |fVqdS)ruN)r0r]rr^rrrra¢sz_cmpkey.<locals>.<genexpr>)r[ÚreversedÚlistÚ    itertoolsÚ    dropwhilerrirrrrozsÿ    ro)Ú
__future__rrrÚ collectionsrŠrzÚ _structuresrÚ__all__Ú
namedtupler rÚ
ValueErrorr
Úobjectrr    r{r|rOrQrUr5r rrmr‡rnrorrrrÚ<module>s8 ÿ 8û     x