Merge branch 'versions-versions-versions' into 'v2.9.x'

Fix versions shown on the dashboard

Closes #1277

See merge request allianceauth/allianceauth!1355
This commit is contained in:
Ariel Rin 2021-10-26 08:24:11 +00:00
commit f0ec16be4e
2 changed files with 6 additions and 35 deletions

View File

@ -169,11 +169,7 @@ class TestVersionTags(TestCase):
# when
result = _current_version_summary()
# then
self.assertTrue(result['latest_major'])
self.assertTrue(result['latest_minor'])
self.assertTrue(result['latest_patch'])
self.assertEqual(result['latest_major_version'], '2.0.0')
self.assertEqual(result['latest_minor_version'], '2.4.0')
self.assertEqual(result['latest_patch_version'], '2.4.5')
self.assertEqual(result['latest_beta_version'], '2.4.6a1')
@ -222,9 +218,7 @@ class TestLatestsVersion(TestCase):
tags = create_tags_list(
['2.1.1', '2.1.0', '2.0.0', '2.1.1a1', '1.1.1', '1.1.0', '1.0.0']
)
major, minor, patch, beta = _latests_versions(tags)
self.assertEqual(major, Pep440Version('2.0.0'))
self.assertEqual(minor, Pep440Version('2.1.0'))
patch, beta = _latests_versions(tags)
self.assertEqual(patch, Pep440Version('2.1.1'))
self.assertEqual(beta, Pep440Version('2.1.1a1'))
@ -233,9 +227,7 @@ class TestLatestsVersion(TestCase):
tags = create_tags_list(
['2.1.2', '2.1.1', '2.0.1', '2.1.1a1', '1.1.1', '1.1.0', '1.0.0']
)
major, minor, patch, beta = _latests_versions(tags)
self.assertEqual(major, Pep440Version('2.0.1'))
self.assertEqual(minor, Pep440Version('2.1.1'))
patch, beta = _latests_versions(tags)
self.assertEqual(patch, Pep440Version('2.1.2'))
self.assertEqual(beta, Pep440Version('2.1.1a1'))
@ -244,9 +236,7 @@ class TestLatestsVersion(TestCase):
tags = create_tags_list(
['2.1.1', '2.1.0', '2.0.0', '2.1.1a1', 'invalid']
)
major, minor, patch, beta = _latests_versions(tags)
self.assertEqual(major, Pep440Version('2.0.0'))
self.assertEqual(minor, Pep440Version('2.1.0'))
patch, beta = _latests_versions(tags)
self.assertEqual(patch, Pep440Version('2.1.1'))
self.assertEqual(beta, Pep440Version('2.1.1a1'))

View File

@ -103,32 +103,22 @@ def _current_version_summary() -> dict:
return {}
(
latest_major_version,
latest_minor_version,
latest_patch_version,
latest_beta_version
) = _latests_versions(tags)
current_version = Pep440Version(__version__)
has_latest_major = \
current_version >= latest_major_version if latest_major_version else False
has_latest_minor = \
current_version >= latest_minor_version if latest_minor_version else False
has_latest_patch = \
current_version >= latest_patch_version if latest_patch_version else False
has_current_beta = \
current_version.base_version <= latest_beta_version.base_version \
and latest_major_version.base_version <= latest_beta_version.base_version \
current_version <= latest_beta_version \
and latest_patch_version <= latest_beta_version \
if latest_beta_version else False
response = {
'latest_major': has_latest_major,
'latest_minor': has_latest_minor,
'latest_patch': has_latest_patch,
'latest_beta': has_current_beta,
'current_version': str(current_version),
'latest_major_version': str(latest_major_version),
'latest_minor_version': str(latest_minor_version),
'latest_patch_version': str(latest_patch_version),
'latest_beta_version': str(latest_beta_version)
}
@ -157,18 +147,9 @@ def _latests_versions(tags: list) -> tuple:
else:
versions.append(version)
latest_version = latest_patch_version = max(versions)
latest_major_version = min(
v for v in versions if v.major == latest_version.major
)
latest_minor_version = min(
v for v in versions
if v.major == latest_version.major and v.minor == latest_version.minor
)
latest_patch_version = max(versions)
latest_beta_version = max(betas)
return (
latest_major_version,
latest_minor_version,
latest_patch_version,
latest_beta_version
)