v440 2.0.0.dev41__tar.gz → 2.0.0.dev43__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.
Files changed (34) hide show
  1. {v440-2.0.0.dev41/src/v440.egg-info → v440-2.0.0.dev43}/PKG-INFO +1 -1
  2. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/pyproject.toml +1 -1
  3. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/_utils/qualparse.py +39 -39
  4. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/tests/test_version.py +3 -7
  5. {v440-2.0.0.dev41 → v440-2.0.0.dev43/src/v440.egg-info}/PKG-INFO +1 -1
  6. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/LICENSE.txt +0 -0
  7. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/MANIFEST.in +0 -0
  8. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/README.rst +0 -0
  9. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/setup.cfg +0 -0
  10. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/__init__.py +0 -0
  11. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/_utils/BaseList.py +0 -0
  12. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/_utils/Cfg.py +0 -0
  13. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/_utils/Digest.py +0 -0
  14. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/_utils/Pattern.py +0 -0
  15. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/_utils/SlotList.py +0 -0
  16. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/_utils/VList.py +0 -0
  17. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/_utils/__init__.py +0 -0
  18. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/_utils/cfg.toml +0 -0
  19. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/_utils/utils.py +0 -0
  20. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/core/Base.py +0 -0
  21. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/core/Local.py +0 -0
  22. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/core/Public.py +0 -0
  23. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/core/Qual.py +0 -0
  24. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/core/Release.py +0 -0
  25. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/core/Version.py +0 -0
  26. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/core/VersionError.py +0 -0
  27. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/core/__init__.py +0 -0
  28. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/tests/__init__.py +0 -0
  29. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/tests/test_testdata.py +0 -0
  30. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440/tests/testdata.toml +0 -0
  31. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440.egg-info/SOURCES.txt +0 -0
  32. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440.egg-info/dependency_links.txt +0 -0
  33. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440.egg-info/requires.txt +0 -0
  34. {v440-2.0.0.dev41 → v440-2.0.0.dev43}/src/v440.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: v440
3
- Version: 2.0.0.dev41
3
+ Version: 2.0.0.dev43
4
4
  Summary: This project provides mutable version objects in accordance with PEP440.
5
5
  Author-email: Johannes <johannes.programming@gmail.com>
6
6
  License: The MIT License (MIT)
@@ -34,7 +34,7 @@ keywords = []
34
34
  name = "v440"
35
35
  readme = "README.rst"
36
36
  requires-python = ">=3.11"
37
- version = "2.0.0.dev41"
37
+ version = "2.0.0.dev43"
38
38
 
39
39
  [project.license]
40
40
  file = "LICENSE.txt"
@@ -29,8 +29,8 @@ def parse_leg(value: list) -> tuple:
29
29
  def parse_leg(value: str) -> tuple:
30
30
  v = value
31
31
  pre: tuple = None, None
32
- post: Any = None
33
- dev: Any = None
32
+ post: Optional[str] = None
33
+ dev: Optional[str] = None
34
34
  m: Any
35
35
  x: Any
36
36
  y: Any
@@ -52,43 +52,6 @@ def parse_leg(value: str) -> tuple:
52
52
  return pre, post, dev
53
53
 
54
54
 
55
- parse_pre: Digest = Digest("parse_pre")
56
-
57
-
58
- @parse_pre.overload()
59
- def parse_pre() -> tuple:
60
- return None, None
61
-
62
-
63
- @parse_pre.overload(list)
64
- def parse_pre(value: list) -> tuple:
65
- x: Any
66
- y: Any
67
- x, y = map(utils.segment, value)
68
- if (x, y) == (None, None):
69
- return None, None
70
- x = Cfg.cfg.data["phases"][x]
71
- if not isinstance(y, int):
72
- raise TypeError
73
- return x, y
74
-
75
-
76
- @parse_pre.overload(str)
77
- def parse_pre(value: str) -> tuple:
78
- if value == "":
79
- return [None, None]
80
- v: str = value
81
- v = v.replace("_", ".")
82
- v = v.replace("-", ".")
83
- m: Any = Pattern.PARSER.bound.search(v)
84
- l: Any
85
- n: Any
86
- l, n = m.groups()
87
- l = Cfg.cfg.data["phases"][l]
88
- n = 0 if (n is None) else int(n)
89
- return l, n
90
-
91
-
92
55
  parse_dev: Digest = Digest("parse_dev")
93
56
 
94
57
 
@@ -175,3 +138,40 @@ def parse_post(value: str) -> Optional[int]:
175
138
  raise ValueError
176
139
  if y is not None:
177
140
  return int(y)
141
+
142
+
143
+ parse_pre: Digest = Digest("parse_pre")
144
+
145
+
146
+ @parse_pre.overload()
147
+ def parse_pre() -> tuple:
148
+ return None, None
149
+
150
+
151
+ @parse_pre.overload(list)
152
+ def parse_pre(value: list) -> tuple:
153
+ x: Any
154
+ y: Any
155
+ x, y = map(utils.segment, value)
156
+ if (x, y) == (None, None):
157
+ return None, None
158
+ x = Cfg.cfg.data["phases"][x]
159
+ if not isinstance(y, int):
160
+ raise TypeError
161
+ return x, y
162
+
163
+
164
+ @parse_pre.overload(str)
165
+ def parse_pre(value: str) -> tuple:
166
+ if value == "":
167
+ return [None, None]
168
+ v: str = value
169
+ v = v.replace("_", ".")
170
+ v = v.replace("-", ".")
171
+ m: Any = Pattern.PARSER.bound.search(v)
172
+ l: Any
173
+ n: Any
174
+ l, n = m.groups()
175
+ l = Cfg.cfg.data["phases"][l]
176
+ n = 0 if (n is None) else int(n)
177
+ return l, n
@@ -1,8 +1,7 @@
1
1
  import unittest
2
2
  from typing import *
3
3
 
4
- from catchlib import Catcher
5
-
4
+ from v440.core.Local import Local
6
5
  from v440.core.Qual import Qual
7
6
  from v440.core.Version import Version
8
7
  from v440.core.VersionError import VersionError
@@ -28,7 +27,7 @@ class TestVersionLocal(unittest.TestCase):
28
27
 
29
28
  def test_version_operations(self: Self) -> None:
30
29
  v: Version = Version("1.2.3")
31
- backup = v.local
30
+ backup: Local = v.local
32
31
  v.local = "local.1.2.3"
33
32
  self.assertEqual(str(v), "1.2.3+local.1.2.3")
34
33
  self.assertEqual(str(v.local), "local.1.2.3")
@@ -402,13 +401,10 @@ class TestSlicingNoGo(unittest.TestCase):
402
401
 
403
402
  def test_slicing_2(self: Self) -> None:
404
403
  v: Version = Version("1.2.3.4.5.6.7.8.9.10")
405
- catcher: Catcher = Catcher()
406
- with catcher.catch(Exception):
404
+ with self.assertRaises(Exception):
407
405
  v.public.base.release[-8:15:5] = 777
408
- self.assertNotEqual(catcher.caught, None)
409
406
 
410
407
  def test_slicing_7(self: Self) -> None:
411
- # test_slicing_7
412
408
  v: Version = Version("1.2.3.4.5.6.7.8.9.10")
413
409
  del v.public.base.release[-8:15:5]
414
410
  self.assertEqual(str(v), "1.2.4.5.6.7.9.10")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: v440
3
- Version: 2.0.0.dev41
3
+ Version: 2.0.0.dev43
4
4
  Summary: This project provides mutable version objects in accordance with PEP440.
5
5
  Author-email: Johannes <johannes.programming@gmail.com>
6
6
  License: The MIT License (MIT)
File without changes
File without changes
File without changes
File without changes