zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
109
110
111
112
113
114
115
U
H=®dn<ã    @sôddlmZmZmZddlZddlZddlZddlmZm    Z    ddl
m Z e r.ddl m Z mZmZmZmZmZmZddlmZmZeeefZeeeeeffZeeeefZeeeeeeeefeeeffdffZeeeedfeeeefZeeeedffZe eeefeeefgefZd    d
d d d gZ e !dddddddg¡Z"dd    „Z#Gdd „d e$ƒZ%Gdd„de&ƒZ'Gdd „d e'ƒZ(e )dej*¡Z+ddddddœZ,dd „Z-d!d"„Z.d#Z/Gd$d
„d
e'ƒZ0d%d&„Z1e )d'¡Z2d(d)„Z3d*d+„Z4dS),é)Úabsolute_importÚdivisionÚprint_functionNé)ÚInfinityÚNegativeInfinity)Ú TYPE_CHECKING)ÚCallableÚIteratorÚListÚOptionalÚ SupportsIntÚTupleÚUnion)Ú InfinityTypeÚNegativeInfinityType.Ú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)rrr)Úversion©rúTD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\pip/_vendor/packaging/version.pyr0s
c@seZdZdZdS)rzF
    An invalid version was found, users should refer to PEP 440.
    N)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrrr r=sc@sPeZdZdZdd„Zdd„Zdd„Zdd    „Zd
d „Zd d „Z    dd„Z
dd„Z dS)Ú _BaseVersionNcCs
t|jƒS©N)ÚhashÚ_key©Úselfrrr Ú__hash__Fsz_BaseVersion.__hash__cCs| |dd„¡S)NcSs||kSr&r©ÚsÚorrr Ú<lambda>Lóz%_BaseVersion.__lt__.<locals>.<lambda>©Ú_compare©r*Úotherrrr Ú__lt__Jsz_BaseVersion.__lt__cCs| |dd„¡S)NcSs||kSr&rr,rrr r/Pr0z%_BaseVersion.__le__.<locals>.<lambda>r1r3rrr Ú__le__Nsz_BaseVersion.__le__cCs| |dd„¡S)NcSs||kSr&rr,rrr r/Tr0z%_BaseVersion.__eq__.<locals>.<lambda>r1r3rrr Ú__eq__Rsz_BaseVersion.__eq__cCs| |dd„¡S)NcSs||kSr&rr,rrr r/Xr0z%_BaseVersion.__ge__.<locals>.<lambda>r1r3rrr Ú__ge__Vsz_BaseVersion.__ge__cCs| |dd„¡S)NcSs||kSr&rr,rrr r/\r0z%_BaseVersion.__gt__.<locals>.<lambda>r1r3rrr Ú__gt__Zsz_BaseVersion.__gt__cCs| |dd„¡S)NcSs||kSr&rr,rrr r/`r0z%_BaseVersion.__ne__.<locals>.<lambda>r1r3rrr Ú__ne__^sz_BaseVersion.__ne__cCst|tƒstS||j|jƒSr&)Ú
isinstancer%ÚNotImplementedr()r*r4Úmethodrrr r2bs
z_BaseVersion._compare) r!r"r#r(r+r5r6r7r8r9r:r2rrrr r%Csr%c@s¨eZdZdd„Zdd„Zdd„Zedd„ƒZed    d
„ƒZed d „ƒZ    ed d„ƒZ
edd„ƒZ edd„ƒZ edd„ƒZ edd„ƒZedd„ƒZedd„ƒZedd„ƒZdS)rcCst|ƒ|_t|jƒ|_dSr&)ÚstrÚ_versionÚ_legacy_cmpkeyr()r*rrrr Ú__init__ks
zLegacyVersion.__init__cCs|jSr&©r?r)rrr Ú__str__pszLegacyVersion.__str__cCsd tt|ƒƒ¡S)Nz<LegacyVersion({0})>©ÚformatÚreprr>r)rrr Ú__repr__tszLegacyVersion.__repr__cCs|jSr&rBr)rrr ÚpublicxszLegacyVersion.publiccCs|jSr&rBr)rrr Ú base_version}szLegacyVersion.base_versioncCsdS)Néÿÿÿÿrr)rrr r‚szLegacyVersion.epochcCsdSr&rr)rrr r‡szLegacyVersion.releasecCsdSr&rr)rrr rŒszLegacyVersion.precCsdSr&rr)rrr r‘szLegacyVersion.postcCsdSr&rr)rrr r–szLegacyVersion.devcCsdSr&rr)rrr r›szLegacyVersion.localcCsdS©NFrr)rrr Ú is_prerelease szLegacyVersion.is_prereleasecCsdSrKrr)rrr Úis_postrelease¥szLegacyVersion.is_postreleasecCsdSrKrr)rrr Ú is_devreleaseªszLegacyVersion.is_devreleaseN)r!r"r#rArCrGÚpropertyrHrIrrrrrrrLrMrNrrrr rjs2
 
 
 
 
 
 
 
 
 
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   r`cCsvd}g}t| ¡ƒD]T}| d¡r^|dkrD|rD|ddkrD| ¡q*|r^|ddkr^| ¡qD| |¡q|t|ƒfS)NrJrXrYz*final-Ú00000000)r`ÚlowerÚ
startswithÚpopÚappendÚtuple)rrÚpartsr_rrr r@Ís
 
 
 r@a—
    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„ƒZe dd „ƒZe d!d"„ƒZe d#d$„ƒZd%S)&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}'rrcss|]}t|ƒVqdSr&)Úint©Ú.0Úirrr Ú    <genexpr>sz#Version.__init__.<locals>.<genexpr>rrUÚpre_lÚpre_nÚpost_lÚpost_n1Úpost_n2Údev_lÚdev_nr)rrrrrr)Ú_regexÚsearchrrErÚgrouprhrfr[Ú_parse_letter_versionÚ_parse_local_versionr?Ú_cmpkeyrrrrrrr()r*rÚmatchrrr rAs, ÿ ø úzVersion.__init__cCsd tt|ƒƒ¡S)Nz<Version({0})>rDr)rrr rG-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}!rUcss|]}t|ƒVqdSr&©r>©rjÚxrrr rl:sz"Version.__str__.<locals>.<genexpr>Úcss|]}t|ƒVqdSr&r|r}rrr rl>sz.post{0}z.dev{0}z+{0})    rrerEÚjoinrrrrr©r*rgrrr rC1s
 
 
 
 
zVersion.__str__cCs |jj}|Sr&)r?r)r*Ú_epochrrr rNsz Version.epochcCs |jj}|Sr&)r?r)r*Ú_releaserrr rTszVersion.releasecCs |jj}|Sr&)r?r)r*Ú_prerrr rZsz Version.precCs|jjr|jjdSdS©Nr)r?rr)rrr r`sz Version.postcCs|jjr|jjdSdSr…)r?rr)rrr resz Version.devcCs(|jjr d dd„|jjDƒ¡SdSdS)NrUcss|]}t|ƒVqdSr&r|r}rrr rlnsz Version.local.<locals>.<genexpr>)r?rr€r)rrr rjsz Version.localcCst|ƒ dd¡dS)Nú+rr)r>r[r)rrr rHrszVersion.publiccCsFg}|jdkr | d |j¡¡| d dd„|jDƒ¡¡d |¡S)Nrr{rUcss|]}t|ƒVqdSr&r|r}rrr rlsz'Version.base_version.<locals>.<genexpr>r)rrerEr€rrrrr rIws
 
zVersion.base_versioncCs|jdk    p|jdk    Sr&)rrr)rrr rL…szVersion.is_prereleasecCs
|jdk    Sr&)rr)rrr rMŠszVersion.is_postreleasecCs
|jdk    Sr&)rr)rrr rNszVersion.is_devreleasecCst|jƒdkr|jdSdS)Nrr©Úlenrr)rrr Úmajor”sz Version.majorcCst|jƒdkr|jdSdS)Nérrr‡r)rrr Úminor™sz Version.minorcCst|jƒdkr|jdSdS)NérŠrr‡r)rrr Úmicrožsz Version.microN)r!r"r#ÚreÚcompilerÚVERBOSEÚ
IGNORECASErtrArGrCrOrrrrrrrHrIrLrMrNr‰r‹rrrrr r s@
 
 
 
 
 
 
 
 
 
 
 
 
cCsv|rZ|dkrd}| ¡}|dkr&d}n(|dkr4d}n|dkrBd}n |dkrNd    }|t|ƒfS|sr|rrd    }|t|ƒfSdS)
NrÚalphaÚaÚbetaÚb)rPrrRrT)ÚrevÚrr)rbrh)ÚletterÚnumberrrr rw¤s"  rwz[\._-]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&)Úisdigitrbrh)rjr_rrr rlÓsÿz'_parse_local_version.<locals>.<genexpr>)rfÚ_local_version_separatorsr[)rrrr rxÍs
þrxc Cs¤tttt dd„t|ƒ¡ƒƒƒ}|dkr>|dkr>|dk    r>t}n|dkrLt}n|}|dkr^t}n|}|dkrpt}    n|}    |dkr‚t}
ntdd„|Dƒƒ}
|||||    |
fS)NcSs|dkS)Nrr)r~rrr r/êr0z_cmpkey.<locals>.<lambda>css(|] }t|tƒr|dfnt|fVqdS)rN)r;rhrrirrr rlsz_cmpkey.<locals>.<genexpr>)rfÚreversedÚlistÚ    itertoolsÚ    dropwhilerr) rrrrrrrƒr„Ú_postÚ_devÚ_localrrr ryÚs(ÿ    ÿry)5Ú
__future__rrrÚ collectionsržrŽÚ _structuresrrÚ_typingrÚtypingr    r
r r r rrrrZ InfiniteTypesr>rhZPrePostDevTypeZ SubLocalTypeZ    LocalTypeZCmpKeyZ LegacyCmpKeyÚboolZVersionComparisonMethodÚ__all__Ú
namedtuplerrÚ
ValueErrorrÚobjectr%rrrrZr\r`r@rrrwr›rxryrrrr Ú<module>sr $ 
 
þÿûÿÿÿ ÿÿÿ 'Fû     &