MCPcopy Create free account
hub / github.com/MotrixLab/insactor / digit_version

Function digit_version

diffplanner/__init__.py:9–43  ·  view source on GitHub ↗

Convert a version string into a tuple of integers. This method is usually used for comparing two versions. For pre-release versions: alpha < beta < rc. Args: version_str (str): The version string. length (int): The maximum number of version levels. Default: 4. Returns

(version_str: str, length: int = 4)

Source from the content-addressed store, hash-verified

7
8
9def digit_version(version_str: str, length: int = 4):
10 """Convert a version string into a tuple of integers.
11 This method is usually used for comparing two versions. For pre-release
12 versions: alpha < beta < rc.
13 Args:
14 version_str (str): The version string.
15 length (int): The maximum number of version levels. Default: 4.
16 Returns:
17 tuple[int]: The version info in digits (integers).
18 """
19 version = parse(version_str)
20 assert version.release, f'failed to parse version {version_str}'
21 release = list(version.release)
22 release = release[:length]
23 if len(release) < length:
24 release = release + [0] * (length - len(release))
25 if version.is_prerelease:
26 mapping = {'a': -3, 'b': -2, 'rc': -1}
27 val = -4
28 # version.pre can be None
29 if version.pre:
30 if version.pre[0] not in mapping:
31 warnings.warn(f'unknown prerelease version {version.pre[0]}, '
32 'version checking may go wrong')
33 else:
34 val = mapping[version.pre[0]]
35 release.extend([val, version.pre[-1]])
36 else:
37 release.extend([val, 0])
38
39 elif version.is_postrelease:
40 release.extend([1, version.post])
41 else:
42 release.extend([0, 0])
43 return tuple(release)
44
45
46mmcv_minimum_version = '1.4.2'

Callers 1

__init__.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected