Skip to content

Commit e5a868c

Browse files
committed
LegacyVersion: Consolidate typings
1 parent 5407312 commit e5a868c

File tree

1 file changed

+12
-18
lines changed

1 file changed

+12
-18
lines changed

libtmux/_compat.py

+12-18
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def str_from_console(s):
2929

3030
try:
3131
import re
32+
from typing import Iterator, List, Tuple
3233

3334
from packaging.version import Version, _BaseVersion
3435

@@ -38,6 +39,8 @@ def str_from_console(s):
3839
### License: BSD, Accessed: Jan 14th, 2022
3940
###
4041

42+
LegacyCmpKey = Tuple[int, Tuple[str, ...]]
43+
4144
_legacy_version_component_re = re.compile(r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE)
4245
_legacy_version_replacement_map = {
4346
"pre": "c",
@@ -47,8 +50,7 @@ def str_from_console(s):
4750
"dev": "@",
4851
}
4952

50-
def _parse_version_parts(s):
51-
# type: (str) -> Iterator[str]
53+
def _parse_version_parts(s: str) -> Iterator[str]:
5254
for part in _legacy_version_component_re.split(s):
5355
part = _legacy_version_replacement_map.get(part, part)
5456

@@ -64,9 +66,7 @@ def _parse_version_parts(s):
6466
# ensure that alpha/beta/candidate are before final
6567
yield "*final"
6668

67-
def _legacy_cmpkey(version):
68-
# type: (str) -> LegacyCmpKey
69-
69+
def _legacy_cmpkey(version: str) -> LegacyCmpKey:
7070
# We hardcode an epoch of -1 here. A PEP 440 version can only have a epoch
7171
# greater than or equal to 0. This will effectively put the LegacyVersion,
7272
# which uses the defacto standard originally implemented by setuptools,
@@ -75,7 +75,7 @@ def _legacy_cmpkey(version):
7575

7676
# This scheme is taken from pkg_resources.parse_version setuptools prior to
7777
# it's adoption of the packaging library.
78-
parts = [] # type: List[str]
78+
parts: List[str] = []
7979
for part in _parse_version_parts(version.lower()):
8080
if part.startswith("*"):
8181
# remove "-" before a prerelease tag
@@ -92,32 +92,26 @@ def _legacy_cmpkey(version):
9292
return epoch, tuple(parts)
9393

9494
class LegacyVersion(_BaseVersion):
95-
def __init__(self, version):
96-
# type: (str) -> None
95+
def __init__(self, version: str) -> None:
9796
self._version = str(version)
9897
self._key = _legacy_cmpkey(self._version)
9998

100-
def __str__(self):
101-
# type: () -> str
99+
def __str__(self) -> str:
102100
return self._version
103101

104-
def __repr__(self):
105-
# type: () -> str
102+
def __repr__(self) -> str:
106103
return "<LegacyVersion({0})>".format(repr(str(self)))
107104

108105
@property
109-
def public(self):
110-
# type: () -> str
106+
def public(self) -> str:
111107
return self._version
112108

113109
@property
114-
def base_version(self):
115-
# type: () -> str
110+
def base_version(self) -> str:
116111
return self._version
117112

118113
@property
119-
def epoch(self):
120-
# type: () -> int
114+
def epoch(self) -> int:
121115
return -1
122116

123117
LooseVersion = LegacyVersion

0 commit comments

Comments
 (0)