v440 2.0.0.dev86__tar.gz → 2.0.0.dev88__tar.gz
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.
- {v440-2.0.0.dev86/src/v440.egg-info → v440-2.0.0.dev88}/PKG-INFO +1 -1
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/pyproject.toml +1 -1
- v440-2.0.0.dev88/src/v440/_utils/releaseparse/getting.py +37 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/core/Release.py +4 -25
- {v440-2.0.0.dev86 → v440-2.0.0.dev88/src/v440.egg-info}/PKG-INFO +1 -1
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440.egg-info/SOURCES.txt +1 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/LICENSE.txt +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/MANIFEST.in +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/README.rst +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/setup.cfg +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/__init__.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/BaseStringer.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/Cfg.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/ListStringer.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/Pattern.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/SlotStringer.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/__init__.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/cfg.toml +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/guarding.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/qualparse/Digest.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/qualparse/__init__.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/qualparse/devs.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/qualparse/posts.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/qualparse/pres.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/qualparse/segmenting.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/releaseparse/__init__.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/releaseparse/deleting.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/releaseparse/listing.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/releaseparse/numerals.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/_utils/releaseparse/ranging.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/core/Base.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/core/Local.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/core/Public.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/core/Qual.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/core/Version.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/core/VersionError.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/core/__init__.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/tests/__init__.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/tests/test_testdata.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/tests/test_version.py +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440/tests/testdata.toml +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440.egg-info/dependency_links.txt +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440.egg-info/requires.txt +0 -0
- {v440-2.0.0.dev86 → v440-2.0.0.dev88}/src/v440.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import operator
|
|
4
|
+
from functools import partial
|
|
5
|
+
from typing import *
|
|
6
|
+
|
|
7
|
+
from overloadable import Overloadable
|
|
8
|
+
|
|
9
|
+
from v440._utils.releaseparse import ranging
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@Overloadable
|
|
13
|
+
def getitem(data: tuple, key: Any) -> bool:
|
|
14
|
+
return type(key) is slice
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@getitem.overload(False)
|
|
18
|
+
def getitem(data: tuple, key: Any) -> int:
|
|
19
|
+
i: int = operator.index(key)
|
|
20
|
+
ans: int = getitem_int(data, i)
|
|
21
|
+
return ans
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@getitem.overload(True)
|
|
25
|
+
def getitem(data: tuple, key: Any) -> list:
|
|
26
|
+
r: range = ranging.torange(key, len(data))
|
|
27
|
+
f: partial = partial(getitem_int, data)
|
|
28
|
+
m: map = map(f, r)
|
|
29
|
+
ans: list = list(m)
|
|
30
|
+
return ans
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def getitem_int(data: tuple[int], key: int) -> int:
|
|
34
|
+
if key < len(data):
|
|
35
|
+
return data[key]
|
|
36
|
+
else:
|
|
37
|
+
return 0
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import operator
|
|
4
|
+
from functools import partial
|
|
4
5
|
from typing import *
|
|
5
6
|
|
|
6
7
|
import setdoc
|
|
@@ -9,7 +10,7 @@ from overloadable import Overloadable
|
|
|
9
10
|
|
|
10
11
|
from v440._utils import releaseparse
|
|
11
12
|
from v440._utils.ListStringer import ListStringer
|
|
12
|
-
from v440._utils.releaseparse import deleting
|
|
13
|
+
from v440._utils.releaseparse import deleting, getting
|
|
13
14
|
|
|
14
15
|
__all__ = ["Release"]
|
|
15
16
|
|
|
@@ -29,25 +30,9 @@ class Release(ListStringer):
|
|
|
29
30
|
def __delitem__(self: Self, key: Any) -> bool:
|
|
30
31
|
self._data = deleting.delitem(self._data, key)
|
|
31
32
|
|
|
32
|
-
@Overloadable
|
|
33
33
|
@setdoc.basic
|
|
34
34
|
def __getitem__(self: Self, key: Any) -> bool:
|
|
35
|
-
return
|
|
36
|
-
|
|
37
|
-
@__getitem__.overload(False)
|
|
38
|
-
@setdoc.basic
|
|
39
|
-
def __getitem__(self: Self, key: Any) -> int:
|
|
40
|
-
i: int = operator.index(key)
|
|
41
|
-
ans: int = self._getitem_int(i)
|
|
42
|
-
return ans
|
|
43
|
-
|
|
44
|
-
@__getitem__.overload(True)
|
|
45
|
-
@setdoc.basic
|
|
46
|
-
def __getitem__(self: Self, key: Any) -> list:
|
|
47
|
-
r: range = releaseparse.torange(key, len(self))
|
|
48
|
-
m: map = map(self._getitem_int, r)
|
|
49
|
-
ans: list = list(m)
|
|
50
|
-
return ans
|
|
35
|
+
return getting.getitem(self.data, key)
|
|
51
36
|
|
|
52
37
|
@Overloadable
|
|
53
38
|
@setdoc.basic
|
|
@@ -86,12 +71,6 @@ class Release(ListStringer):
|
|
|
86
71
|
ans: str = ".".join(l)
|
|
87
72
|
return ans
|
|
88
73
|
|
|
89
|
-
def _getitem_int(self: Self, key: int) -> int:
|
|
90
|
-
if key < len(self):
|
|
91
|
-
return self.data[key]
|
|
92
|
-
else:
|
|
93
|
-
return 0
|
|
94
|
-
|
|
95
74
|
def _setitem_int(self: Self, key: int, value: Any) -> Any:
|
|
96
75
|
v: int = releaseparse.numeral(value)
|
|
97
76
|
if key < len(self):
|
|
@@ -148,7 +127,7 @@ class Release(ListStringer):
|
|
|
148
127
|
def bump(self: Self, index: SupportsIndex = -1, amount: SupportsIndex = 1) -> None:
|
|
149
128
|
i: int = operator.index(index)
|
|
150
129
|
a: int = operator.index(amount)
|
|
151
|
-
x: int = self.
|
|
130
|
+
x: int = getting.getitem_int(self.data, i) + a
|
|
152
131
|
self._setitem_int(i, x)
|
|
153
132
|
if i != -1:
|
|
154
133
|
self.data = self.data[: i + 1]
|
|
@@ -25,6 +25,7 @@ src/v440/_utils/qualparse/pres.py
|
|
|
25
25
|
src/v440/_utils/qualparse/segmenting.py
|
|
26
26
|
src/v440/_utils/releaseparse/__init__.py
|
|
27
27
|
src/v440/_utils/releaseparse/deleting.py
|
|
28
|
+
src/v440/_utils/releaseparse/getting.py
|
|
28
29
|
src/v440/_utils/releaseparse/listing.py
|
|
29
30
|
src/v440/_utils/releaseparse/numerals.py
|
|
30
31
|
src/v440/_utils/releaseparse/ranging.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|