ominfra 0.0.0.dev419__py3-none-any.whl → 0.0.0.dev420__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ominfra/scripts/manage.py +36 -38
- {ominfra-0.0.0.dev419.dist-info → ominfra-0.0.0.dev420.dist-info}/METADATA +3 -3
- {ominfra-0.0.0.dev419.dist-info → ominfra-0.0.0.dev420.dist-info}/RECORD +7 -7
- {ominfra-0.0.0.dev419.dist-info → ominfra-0.0.0.dev420.dist-info}/WHEEL +0 -0
- {ominfra-0.0.0.dev419.dist-info → ominfra-0.0.0.dev420.dist-info}/entry_points.txt +0 -0
- {ominfra-0.0.0.dev419.dist-info → ominfra-0.0.0.dev420.dist-info}/licenses/LICENSE +0 -0
- {ominfra-0.0.0.dev419.dist-info → ominfra-0.0.0.dev420.dist-info}/top_level.txt +0 -0
ominfra/scripts/manage.py
CHANGED
@@ -4833,7 +4833,7 @@ def get_cache_dir() -> str:
|
|
4833
4833
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This file is dual licensed under the terms of the
|
4834
4834
|
# Apache License, Version 2.0, and the BSD License. See the LICENSE file in the root of this repository for complete
|
4835
4835
|
# details.
|
4836
|
-
# https://github.com/pypa/packaging/blob/
|
4836
|
+
# https://github.com/pypa/packaging/blob/48125006684bb2d7d28c50af48a03176da45942d/src/packaging/specifiers.py
|
4837
4837
|
|
4838
4838
|
|
4839
4839
|
##
|
@@ -4981,7 +4981,7 @@ class Specifier(BaseSpecifier):
|
|
4981
4981
|
) -> None:
|
4982
4982
|
match = self._regex.search(spec)
|
4983
4983
|
if not match:
|
4984
|
-
raise InvalidSpecifier(f
|
4984
|
+
raise InvalidSpecifier(f'Invalid specifier: {spec!r}')
|
4985
4985
|
|
4986
4986
|
self._spec: ta.Tuple[str, str] = (
|
4987
4987
|
match.group('operator').strip(),
|
@@ -4996,7 +4996,7 @@ class Specifier(BaseSpecifier):
|
|
4996
4996
|
return self._prereleases
|
4997
4997
|
|
4998
4998
|
operator, version = self._spec
|
4999
|
-
if operator in ['==', '>=', '<=', '~=', '===']:
|
4999
|
+
if operator in ['==', '>=', '<=', '~=', '===', '>', '<']:
|
5000
5000
|
if operator == '==' and version.endswith('.*'):
|
5001
5001
|
version = version[:-2]
|
5002
5002
|
|
@@ -5122,40 +5122,38 @@ class Specifier(BaseSpecifier):
|
|
5122
5122
|
return self.contains(item)
|
5123
5123
|
|
5124
5124
|
def contains(self, item: UnparsedVersion, prereleases: ta.Optional[bool] = None) -> bool:
|
5125
|
-
|
5126
|
-
prereleases = self.prereleases
|
5127
|
-
|
5128
|
-
normalized_item = _coerce_version(item)
|
5129
|
-
|
5130
|
-
if normalized_item.is_prerelease and not prereleases:
|
5131
|
-
return False
|
5132
|
-
|
5133
|
-
operator_callable: CallableVersionOperator = self._get_operator(self.operator)
|
5134
|
-
return operator_callable(normalized_item, self.version)
|
5125
|
+
return bool(list(self.filter([item], prereleases=prereleases)))
|
5135
5126
|
|
5136
5127
|
def filter(
|
5137
5128
|
self,
|
5138
5129
|
iterable: ta.Iterable[UnparsedVersionVar],
|
5139
5130
|
prereleases: ta.Optional[bool] = None,
|
5140
5131
|
) -> ta.Iterator[UnparsedVersionVar]:
|
5141
|
-
|
5142
|
-
|
5132
|
+
prereleases_versions = []
|
5133
|
+
found_non_prereleases = False
|
5143
5134
|
|
5144
|
-
|
5135
|
+
include_prereleases = (
|
5136
|
+
prereleases if prereleases is not None else self.prereleases
|
5137
|
+
)
|
5138
|
+
|
5139
|
+
operator_callable = self._get_operator(self.operator)
|
5145
5140
|
|
5146
5141
|
for version in iterable:
|
5147
5142
|
parsed_version = _coerce_version(version)
|
5148
5143
|
|
5149
|
-
if
|
5150
|
-
if parsed_version.is_prerelease
|
5151
|
-
|
5152
|
-
else:
|
5153
|
-
yielded = True
|
5144
|
+
if operator_callable(parsed_version, self.version):
|
5145
|
+
if not parsed_version.is_prerelease or include_prereleases:
|
5146
|
+
found_non_prereleases = True
|
5154
5147
|
yield version
|
5148
|
+
elif prereleases is None and self._prereleases is not False:
|
5149
|
+
prereleases_versions.append(version)
|
5155
5150
|
|
5156
|
-
if
|
5157
|
-
|
5158
|
-
|
5151
|
+
if (
|
5152
|
+
not found_non_prereleases and
|
5153
|
+
prereleases is None and
|
5154
|
+
self._prereleases is not False
|
5155
|
+
):
|
5156
|
+
yield from prereleases_versions
|
5159
5157
|
|
5160
5158
|
|
5161
5159
|
_version_prefix_regex = re.compile(r'^([0-9]+)((?:a|b|c|rc)[0-9]+)$')
|
@@ -5206,12 +5204,15 @@ def _pad_version(left: ta.List[str], right: ta.List[str]) -> ta.Tuple[ta.List[st
|
|
5206
5204
|
class SpecifierSet(BaseSpecifier):
|
5207
5205
|
def __init__(
|
5208
5206
|
self,
|
5209
|
-
specifiers: str = '',
|
5207
|
+
specifiers: ta.Union[str, ta.Iterable['Specifier']] = '',
|
5210
5208
|
prereleases: ta.Optional[bool] = None,
|
5211
5209
|
) -> None:
|
5212
|
-
|
5210
|
+
if isinstance(specifiers, str):
|
5211
|
+
split_specifiers = [s.strip() for s in specifiers.split(',') if s.strip()]
|
5212
|
+
self._specs = frozenset(map(Specifier, split_specifiers))
|
5213
|
+
else:
|
5214
|
+
self._specs = frozenset(specifiers)
|
5213
5215
|
|
5214
|
-
self._specs = frozenset(map(Specifier, split_specifiers))
|
5215
5216
|
self._prereleases = prereleases
|
5216
5217
|
|
5217
5218
|
@property
|
@@ -5222,7 +5223,10 @@ class SpecifierSet(BaseSpecifier):
|
|
5222
5223
|
if not self._specs:
|
5223
5224
|
return None
|
5224
5225
|
|
5225
|
-
|
5226
|
+
if any(s.prereleases for s in self._specs):
|
5227
|
+
return True
|
5228
|
+
|
5229
|
+
return None
|
5226
5230
|
|
5227
5231
|
@prereleases.setter
|
5228
5232
|
def prereleases(self, value: bool) -> None:
|
@@ -5289,28 +5293,22 @@ class SpecifierSet(BaseSpecifier):
|
|
5289
5293
|
if not isinstance(item, Version):
|
5290
5294
|
item = Version(item)
|
5291
5295
|
|
5292
|
-
if prereleases is None:
|
5293
|
-
prereleases = self.prereleases
|
5294
|
-
|
5295
|
-
if not prereleases and item.is_prerelease:
|
5296
|
-
return False
|
5297
|
-
|
5298
5296
|
if installed and item.is_prerelease:
|
5299
|
-
|
5297
|
+
prereleases = True
|
5300
5298
|
|
5301
|
-
return
|
5299
|
+
return bool(list(self.filter([item], prereleases=prereleases)))
|
5302
5300
|
|
5303
5301
|
def filter(
|
5304
5302
|
self,
|
5305
5303
|
iterable: ta.Iterable[UnparsedVersionVar],
|
5306
5304
|
prereleases: ta.Optional[bool] = None,
|
5307
5305
|
) -> ta.Iterator[UnparsedVersionVar]:
|
5308
|
-
if prereleases is None:
|
5306
|
+
if prereleases is None and self.prereleases is not None:
|
5309
5307
|
prereleases = self.prereleases
|
5310
5308
|
|
5311
5309
|
if self._specs:
|
5312
5310
|
for spec in self._specs:
|
5313
|
-
iterable = spec.filter(iterable, prereleases=
|
5311
|
+
iterable = spec.filter(iterable, prereleases=prereleases)
|
5314
5312
|
return iter(iterable)
|
5315
5313
|
|
5316
5314
|
else:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ominfra
|
3
|
-
Version: 0.0.0.
|
3
|
+
Version: 0.0.0.dev420
|
4
4
|
Summary: ominfra
|
5
5
|
Author: wrmsr
|
6
6
|
License-Expression: BSD-3-Clause
|
@@ -14,8 +14,8 @@ Classifier: Programming Language :: Python :: 3.13
|
|
14
14
|
Requires-Python: >=3.13
|
15
15
|
Description-Content-Type: text/markdown
|
16
16
|
License-File: LICENSE
|
17
|
-
Requires-Dist: omdev==0.0.0.
|
18
|
-
Requires-Dist: omlish==0.0.0.
|
17
|
+
Requires-Dist: omdev==0.0.0.dev420
|
18
|
+
Requires-Dist: omlish==0.0.0.dev420
|
19
19
|
Provides-Extra: all
|
20
20
|
Requires-Dist: paramiko~=4.0; extra == "all"
|
21
21
|
Requires-Dist: asyncssh~=2.21; extra == "all"
|
@@ -113,7 +113,7 @@ ominfra/manage/targets/inject.py,sha256=3M4wBkxtvymq_yhiotHlTN8iydELMjVCndyp9Bq-
|
|
113
113
|
ominfra/manage/targets/targets.py,sha256=WmasYmL6xfAI7F0XvDhScFdBVxkqPkmo_gRgABmmkGA,1891
|
114
114
|
ominfra/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
115
115
|
ominfra/scripts/journald2aws.py,sha256=RlrTK5M3XoqzWU7v01J67rl-qZq6_mOWlRay7k0gzWE,174194
|
116
|
-
ominfra/scripts/manage.py,sha256=
|
116
|
+
ominfra/scripts/manage.py,sha256=nqnuKyL7IkH0iu4ycuJjKXwha7UYgpNBeu9OSLQlGS4,397117
|
117
117
|
ominfra/scripts/supervisor.py,sha256=YUx_3RmUqkWFQ8PswnZukIESfZKvS6PUSZI43siErjc,306712
|
118
118
|
ominfra/supervisor/LICENSE.txt,sha256=ZrHY15PVR98y26Yg6iQfa-SXnUaYTDhrUsPVcEO5OKM,1874
|
119
119
|
ominfra/supervisor/__init__.py,sha256=Y3l4WY4JRi2uLG6kgbGp93fuGfkxkKwZDvhsa0Rwgtk,15
|
@@ -156,9 +156,9 @@ ominfra/tailscale/api.py,sha256=XASv9C_CWI-u-yX5jVzhJrkJhlwQRkYQWQQG1uJwAd8,1375
|
|
156
156
|
ominfra/tailscale/cli.py,sha256=zRV7-tKB7kBah1oTVZlol-vwx1FBlnfzYAPGkeU5jX4,3543
|
157
157
|
ominfra/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
158
158
|
ominfra/tools/listresources.py,sha256=ePmo7cUAiBZARkM_3K4GKYZXxV73An_aioS1m-AAJis,6181
|
159
|
-
ominfra-0.0.0.
|
160
|
-
ominfra-0.0.0.
|
161
|
-
ominfra-0.0.0.
|
162
|
-
ominfra-0.0.0.
|
163
|
-
ominfra-0.0.0.
|
164
|
-
ominfra-0.0.0.
|
159
|
+
ominfra-0.0.0.dev420.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
160
|
+
ominfra-0.0.0.dev420.dist-info/METADATA,sha256=F4gLi2KyGacO3BZcq0ZbBAWLu1Lg8FgByCVcg545GBY,2377
|
161
|
+
ominfra-0.0.0.dev420.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
162
|
+
ominfra-0.0.0.dev420.dist-info/entry_points.txt,sha256=kgecQ2MgGrM9qK744BoKS3tMesaC3yjLnl9pa5CRczg,37
|
163
|
+
ominfra-0.0.0.dev420.dist-info/top_level.txt,sha256=E-b2OHkk_AOBLXHYZQ2EOFKl-_6uOGd8EjeG-Zy6h_w,8
|
164
|
+
ominfra-0.0.0.dev420.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|