§
w<ˆjU ã ó
— d Z ddlZddlZddlmZ ej dej ¦ « Z ej d¦ « Z ej d¦ « Z d„ Z
ej ej ej
ej ej ej d œZ G d
„ d¦ « Zdad„ ZdS )
zAModule for parsing and testing package version predicate strings.é Né )Úversionz'(?i)^\s*([a-z_]\w*(?:\.[a-z_]\w*)*)(.*)z^\s*\((.*)\)\s*$z%^\s*(<=|>=|<|>|!=|==)\s*([^\s,]+)\s*$c ó — t | ¦ « }|st d| ›�¦ « ‚| ¦ « \ }}t j ¦ « 5 t j |¦ « }ddd¦ « n# 1 swxY w Y ||fS )zVParse a single version comparison.
Return (comparison string, StrictVersion)
z bad package restriction syntax: N)Úre_splitComparisonÚmatchÚ
ValueErrorÚgroupsr Úsuppress_known_deprecationÚ
StrictVersion)ÚpredÚresÚcompÚverStrÚothers úx/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/setuptools/_distutils/versionpredicate.pyÚsplitUpr sÆ € õ
×
"Ò
" 4Ñ
(Ô
(€CØð FÝÐD¸DÐDÐDÑEÔEÐEØ—:’:‘<”<�L€Dˆ&Ý Ô +Ñ -Ô -ð .ð .ÝÔ% fÑ-Ô-ˆð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .à�%ˆ=Ðs ÁA:Á:A>ÂA>)úz>=z!=c ó$ — e Zd ZdZd„ Zd„ Zd„ ZdS )ÚVersionPredicatea¼ Parse and test package version predicates.
>>> v = VersionPredicate('pyepat.abc (>1.0, <3333.3a1, !=1555.1b3)')
The `name` attribute provides the full dotted name that is given::
>>> v.name
'pyepat.abc'
The str() of a `VersionPredicate` provides a normalized
human-readable version of the expression::
>>> print(v)
pyepat.abc (> 1.0, < 3333.3a1, != 1555.1b3)
The `satisfied_by()` method can be used to determine with a given
version number is included in the set described by the version
restrictions::
>>> v.satisfied_by('1.1')
True
>>> v.satisfied_by('1.4')
True
>>> v.satisfied_by('1.0')
False
>>> v.satisfied_by('4444.4')
False
>>> v.satisfied_by('1555.1b3')
False
`VersionPredicate` is flexible in accepting extra whitespace::
>>> v = VersionPredicate(' pat( == 0.1 ) ')
>>> v.name
'pat'
>>> v.satisfied_by('0.1')
True
>>> v.satisfied_by('0.2')
False
If any version numbers passed in do not conform to the
restrictions of `StrictVersion`, a `ValueError` is raised::
>>> v = VersionPredicate('p1.p2.p3.p4(>=1.0, <=1.3a1, !=1.2zb3)')
Traceback (most recent call last):
...
ValueError: invalid version number '1.2zb3'
It the module or package name given does not conform to what's
allowed as a legal module or package name, `ValueError` is
raised::
>>> v = VersionPredicate('foo-bar')
Traceback (most recent call last):
...
ValueError: expected parenthesized list: '-bar'
>>> v = VersionPredicate('foo bar (12.21)')
Traceback (most recent call last):
...
ValueError: expected parenthesized list: 'bar (12.21)'
c ó, — | ¦ « }|st d¦ « ‚t |¦ « }|st d|›�¦ « ‚| ¦ « \ | _ }| ¦ « }|r‡t |¦ « }|st d|›�¦ « ‚| ¦ « d }d„ | d¦ « D ¦ « | _ | j st d|›�¦ « ‚dS g | _ dS ) z!Parse a version predicate string.zempty package restrictionzbad package name in zexpected parenthesized list: r c ó, — g | ]}t |¦ « ‘ŒS © )r )Ú.0ÚaPreds r ú
z-VersionPredicate.__init__..| s € ÐDÐDÐD¨E� ™œÐDÐDÐDó ú,zempty parenthesized list in N) Ústripr Úre_validPackager r ÚnameÚre_parenÚsplitr )ÚselfÚversionPredicateStrr ÚparenÚstrs r Ú__init__zVersionPredicate.__init__i s) € ð 2×7Ò7Ñ9Ô9ÐØ"ð :ÝÐ8Ñ9Ô9Ð9Ý×%Ò%Ð&9Ñ:Ô:ˆØð MÝÐKÐ4GÐKÐKÑLÔLÐLØ Ÿ<š<™>œ>шŒ �5Ø—’‘
”
ˆØð Ý—N’N 5Ñ)Ô)ˆEØð
LÝ Ð!JÀÐ!JÐ!JÑKÔKÐKØ—,’,‘.”. Ô#ˆCØDÐD°S·Y²Y¸s±^´^ÐDÑDÔDˆDŒIØ”9ð
YÝ Ð!WÐ@SÐ!WÐ!WÑXÔXÐXð
Yð
Yð ˆDŒIˆIˆIr c ó† — | j r4d„ | j D ¦ « }| j dz d |¦ « z dz S | j S )Nc ó> — g | ]\ }}|d z t |¦ « z ‘ŒS )ú )r' )r ÚcondÚvers r r z,VersionPredicate.__str__..„ s+ € ÐDÐDÐD©Y¨T°3�4˜#‘:¥ C¡¤Ñ(ÐDÐDÐDr z (z, ú))r r! Újoin)r$ Úseqs r Ú__str__zVersionPredicate.__str__‚ sJ € ØŒ9ð ØDÐD¸$¼)ÐDÑDÔDˆCØ”9˜tÑ# d§i¢i°¡n¤nÑ4°sÑ:Ð:à”9Ðr c óR — | j D ]\ }}t | ||¦ « s dS ŒdS )zÏTrue if version is compatible with all the predicates in self.
The parameter version must be acceptable to the StrictVersion
constructor. It may be either a string or StrictVersion.
FT)r Úcompmap)r$ r r, r- s r Úsatisfied_byzVersionPredicate.satisfied_by‰ s@ € ð
œð ð ‰IˆD�#ݘ4”= ¨#Ñ.Ô.ð
Ø�u�uð
àˆtr N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r( r1 r4 r r r r r ( sL € € € € € ð>ð >ð@ð ð ð2ð ð ðð ð ð ð r r c ó° — t €t j dt j ¦ « a | ¦ « } t | ¦ « }|st
d| ›�¦ « ‚| d¦ « pd}|r?t j ¦ « 5 t j
|¦ « }ddd¦ « n# 1 swxY w Y | d¦ « |fS )a9 Return the name and optional version number of a provision.
The version number, if given, will be returned as a `StrictVersion`
instance, otherwise it will be `None`.
>>> split_provision('mypkg')
('mypkg', None)
>>> split_provision(' mypkg( 1.2 ) ')
('mypkg', StrictVersion ('1.2'))
Nz=([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(?:\s*\(\s*([^)\s]+)\s*\))?$z illegal provides specification: é r )Ú
_provision_rxÚreÚcompileÚASCIIr r r Úgroupr r
r )ÚvalueÚmr- s r Úsplit_provisionrB — s € õ ÐÝœ
ØLÍbÌhñ
ô
ˆ
ð
�KŠK‰MŒM€EÝ×Ò˜EÑ"Ô"€AØð GÝÐE¸EÐEÐEÑFÔFÐFØ
�'Š'�!‰*Œ*Ð
˜€CØ
ð -Ý
Ô
/Ñ
1Ô
1ð -ð -ÝÔ'¨Ñ,Ô,ˆCð -ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -à�7Š7�1‰:Œ:�sˆ?Ðs ÂB6Â6B:Â=B:)r8 Úoperatorr<