Skip to content

Commit e02ea73

Browse files
authored
Add version_key function for version sorting
1 parent 123a06f commit e02ea73

File tree

1 file changed

+12
-4
lines changed
  • 3rdparty/mkdocs-versioned/mkdocs_versioned

1 file changed

+12
-4
lines changed

3rdparty/mkdocs-versioned/mkdocs_versioned/cli.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,13 @@ def version_compare(version1, version2):
9090
return 0
9191

9292

93+
def version_key(version):
94+
"""
95+
Convert version string like '8.10.1' to a tuple of ints (8, 10, 1)
96+
so that normal ascending sort gives oldest -> newest.
97+
"""
98+
return tuple(map(int, str(version).split('.')))
99+
93100
@click.command()
94101
@click.option('--config-file', type=click.File('rb'), help=config_file_help)
95102
@click.option('--strict', is_flag=True, help=strict_help)
@@ -150,11 +157,12 @@ def build_command(config_file, strict, site_dir, branches, default_branch, lates
150157
virtuozzoVersions = formatedCSVersions.values()
151158

152159
if release_branches is not None:
153-
release_branches = sorted(release_branches, key=functools.cmp_to_key(version_compare))
154-
virtuozzoVersions = sorted(virtuozzoVersions, key=functools.cmp_to_key(version_compare))
160+
# Sort versions numerically: oldest -> newest
161+
release_branches = sorted(release_branches, key=version_key)
162+
virtuozzoVersions = sorted(virtuozzoVersions, key=version_key)
155163

156-
# default_version = next(iter(release_branches), None)# release_branches[-1]
157-
default_version = release_branches[0] if release_branches else None
164+
# Take the last (newest) version as default
165+
default_version = release_branches[-1] if release_branches else None
158166

159167
print("Default version %s", default_version)
160168
print("Building %s to /", default_version)

0 commit comments

Comments
 (0)