v440 2.0.0.dev63__tar.gz → 2.0.0.dev64__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 (35) hide show
  1. {v440-2.0.0.dev63/src/v440.egg-info → v440-2.0.0.dev64}/PKG-INFO +1 -1
  2. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/pyproject.toml +1 -1
  3. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/_utils/BaseList.py +1 -1
  4. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/_utils/VList.py +1 -1
  5. v440-2.0.0.dev64/src/v440/_utils/guarding.py +25 -0
  6. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/_utils/utils.py +0 -19
  7. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/core/Base.py +1 -1
  8. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/core/Local.py +1 -1
  9. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/core/Qual.py +1 -1
  10. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/core/Release.py +1 -1
  11. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/core/Version.py +1 -1
  12. {v440-2.0.0.dev63 → v440-2.0.0.dev64/src/v440.egg-info}/PKG-INFO +1 -1
  13. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440.egg-info/SOURCES.txt +1 -0
  14. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/LICENSE.txt +0 -0
  15. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/MANIFEST.in +0 -0
  16. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/README.rst +0 -0
  17. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/setup.cfg +0 -0
  18. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/__init__.py +0 -0
  19. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/_utils/Cfg.py +0 -0
  20. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/_utils/Digest.py +0 -0
  21. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/_utils/Pattern.py +0 -0
  22. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/_utils/SlotList.py +0 -0
  23. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/_utils/__init__.py +0 -0
  24. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/_utils/cfg.toml +0 -0
  25. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/_utils/qualparse.py +0 -0
  26. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/core/Public.py +0 -0
  27. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/core/VersionError.py +0 -0
  28. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/core/__init__.py +0 -0
  29. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/tests/__init__.py +0 -0
  30. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/tests/test_testdata.py +0 -0
  31. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/tests/test_version.py +0 -0
  32. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440/tests/testdata.toml +0 -0
  33. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440.egg-info/dependency_links.txt +0 -0
  34. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/src/v440.egg-info/requires.txt +0 -0
  35. {v440-2.0.0.dev63 → v440-2.0.0.dev64}/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.dev63
3
+ Version: 2.0.0.dev64
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)
@@ -36,7 +36,7 @@ keywords = []
36
36
  name = "v440"
37
37
  readme = "README.rst"
38
38
  requires-python = ">=3.11"
39
- version = "2.0.0.dev63"
39
+ version = "2.0.0.dev64"
40
40
 
41
41
  [project.license]
42
42
  file = "LICENSE.txt"
@@ -6,7 +6,7 @@ import scaevola
6
6
  import setdoc
7
7
  import unhash
8
8
 
9
- from v440._utils.utils import guard
9
+ from v440._utils.guarding import guard
10
10
  from v440.core.VersionError import VersionError
11
11
 
12
12
 
@@ -7,7 +7,7 @@ from datarepr import datarepr
7
7
  from overloadable import Overloadable
8
8
 
9
9
  from v440._utils.BaseList import BaseList
10
- from v440._utils.utils import guard
10
+ from v440._utils.guarding import guard
11
11
 
12
12
  __all__ = ["VList"]
13
13
 
@@ -0,0 +1,25 @@
1
+ from __future__ import annotations
2
+
3
+ import functools
4
+ from typing import *
5
+
6
+ from v440.core.VersionError import VersionError
7
+
8
+
9
+ def guard(old: Any) -> Any:
10
+ @functools.wraps(old)
11
+ def new(self: Self, value: Any) -> None:
12
+ backup: str = str(getattr(self, old.__name__))
13
+ try:
14
+ old(self, value)
15
+ except VersionError:
16
+ setattr(self, old.__name__, backup)
17
+ raise
18
+ except Exception:
19
+ setattr(self, old.__name__, backup)
20
+ msg: str = "%r is an invalid value for %r"
21
+ target: str = type(self).__name__ + "." + old.__name__
22
+ msg %= (value, target)
23
+ raise VersionError(msg)
24
+
25
+ return new
@@ -60,22 +60,3 @@ def _segment(value: Any, /) -> int | str:
60
60
  return 0
61
61
  else:
62
62
  return int(value)
63
-
64
-
65
- def guard(old: Any) -> Any:
66
- @functools.wraps(old)
67
- def new(self: Self, value: Any) -> None:
68
- backup: str = str(getattr(self, old.__name__))
69
- try:
70
- old(self, value)
71
- except VersionError:
72
- setattr(self, old.__name__, backup)
73
- raise
74
- except Exception:
75
- setattr(self, old.__name__, backup)
76
- msg: str = "%r is an invalid value for %r"
77
- target: str = type(self).__name__ + "." + old.__name__
78
- msg %= (value, target)
79
- raise VersionError(msg)
80
-
81
- return new
@@ -6,8 +6,8 @@ import setdoc
6
6
  from overloadable import Overloadable
7
7
 
8
8
  from v440._utils.Digest import Digest
9
+ from v440._utils.guarding import guard
9
10
  from v440._utils.SlotList import SlotList
10
- from v440._utils.utils import guard
11
11
  from v440.core.Release import Release
12
12
 
13
13
  __all__ = ["Base"]
@@ -6,7 +6,7 @@ import setdoc
6
6
 
7
7
  from v440._utils import utils
8
8
  from v440._utils.Digest import Digest
9
- from v440._utils.utils import guard
9
+ from v440._utils.guarding import guard
10
10
  from v440._utils.VList import VList
11
11
 
12
12
  __all__ = ["Local"]
@@ -6,9 +6,9 @@ import setdoc
6
6
  from overloadable import Overloadable
7
7
 
8
8
  from v440._utils import qualparse
9
+ from v440._utils.guarding import guard
9
10
  from v440._utils.Pattern import Pattern
10
11
  from v440._utils.SlotList import SlotList
11
- from v440._utils.utils import guard
12
12
 
13
13
  __all__ = ["Qual"]
14
14
 
@@ -9,7 +9,7 @@ from keyalias import keyalias
9
9
  from overloadable import Overloadable
10
10
 
11
11
  from v440._utils import utils
12
- from v440._utils.utils import guard
12
+ from v440._utils.guarding import guard
13
13
  from v440._utils.VList import VList
14
14
 
15
15
  __all__ = ["Release"]
@@ -6,8 +6,8 @@ import packaging.version
6
6
  import setdoc
7
7
  from overloadable import Overloadable
8
8
 
9
+ from v440._utils.guarding import guard
9
10
  from v440._utils.SlotList import SlotList
10
- from v440._utils.utils import guard
11
11
  from v440.core.Local import Local
12
12
  from v440.core.Public import Public
13
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: v440
3
- Version: 2.0.0.dev63
3
+ Version: 2.0.0.dev64
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)
@@ -17,6 +17,7 @@ src/v440/_utils/SlotList.py
17
17
  src/v440/_utils/VList.py
18
18
  src/v440/_utils/__init__.py
19
19
  src/v440/_utils/cfg.toml
20
+ src/v440/_utils/guarding.py
20
21
  src/v440/_utils/qualparse.py
21
22
  src/v440/_utils/utils.py
22
23
  src/v440/core/Base.py
File without changes
File without changes
File without changes
File without changes