Skip to content

Commit eb82a08

Browse files
committed
Fix split_lizmap_version
1 parent 1204999 commit eb82a08

File tree

2 files changed

+48
-4
lines changed

2 files changed

+48
-4
lines changed

lizmap/server_lwc.py

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,8 +1131,8 @@ def split_lizmap_version(cls, lwc_version: str) -> tuple:
11311131
""" Split a Lizmap Web Client version. """
11321132
lizmap_version_split = lwc_version.split('.')
11331133
items_bugfix = lizmap_version_split[2].split('-')
1134-
is_pre_package = len(items_bugfix) > 1
1135-
if not is_pre_package:
1134+
1135+
if not len(items_bugfix) > 1:
11361136
# 3.5.2
11371137
return (
11381138
int(lizmap_version_split[0]),
@@ -1149,13 +1149,40 @@ def split_lizmap_version(cls, lwc_version: str) -> tuple:
11491149
items_bugfix[1],
11501150
)
11511151

1152-
# 3.5.2-pre.5204
1152+
items_build = lizmap_version_split[3].split('+')
1153+
if len(items_build) == 1:
1154+
items_build = lizmap_version_split[3].split('-')
1155+
1156+
if not len(items_build) > 1:
1157+
# 3.5.2-pre.5204
1158+
return (
1159+
int(lizmap_version_split[0]),
1160+
int(lizmap_version_split[1]),
1161+
int(items_bugfix[0]),
1162+
items_bugfix[1],
1163+
int(lizmap_version_split[3]),
1164+
)
1165+
1166+
if len(lizmap_version_split) == 4:
1167+
# 3.5.2-pre.5204+sha
1168+
return (
1169+
int(lizmap_version_split[0]),
1170+
int(lizmap_version_split[1]),
1171+
int(items_bugfix[0]),
1172+
items_bugfix[1],
1173+
int(items_build[0]),
1174+
items_build[1],
1175+
)
1176+
1177+
# 3.5.2-pre.5204+sha.5204
11531178
return (
11541179
int(lizmap_version_split[0]),
11551180
int(lizmap_version_split[1]),
11561181
int(items_bugfix[0]),
11571182
items_bugfix[1],
1158-
int(lizmap_version_split[3]),
1183+
int(items_build[0]),
1184+
items_build[1],
1185+
int(lizmap_version_split[4]),
11591186
)
11601187

11611188
def display_action(self, row, level, message):

tests/test_version_info.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,24 @@ def test_split_lizmap_version(self):
1313
self.assertTupleEqual(ServerManager.split_lizmap_version("3.5.2"), (3, 5, 2))
1414
self.assertTupleEqual(ServerManager.split_lizmap_version("3.5.2-pre"), (3, 5, 2, "pre"))
1515
self.assertTupleEqual(ServerManager.split_lizmap_version("3.5.2-pre.5204"), (3, 5, 2, "pre", 5204))
16+
self.assertTupleEqual(
17+
ServerManager.split_lizmap_version("3.5.2-alpha.1+sha"),
18+
(3, 5, 2, "alpha", 1, "sha"),
19+
)
20+
self.assertTupleEqual(
21+
ServerManager.split_lizmap_version("3.5.2-alpha.1+sha.5204"),
22+
(3, 5, 2, "alpha", 1, "sha", 5204),
23+
)
1624
self.assertTupleEqual(ServerManager.split_lizmap_version("3.8.0-rc.4"), (3, 8, 0, "rc", 4))
25+
self.assertTupleEqual(
26+
ServerManager.split_lizmap_version("5.0.0-alpha.3+pre"),
27+
(5, 0, 0, "alpha", 3, "pre"),
28+
)
29+
# Bad semver version
30+
self.assertTupleEqual(
31+
ServerManager.split_lizmap_version("5.0.0-alpha.3-pre"),
32+
(5, 0, 0, "alpha", 3, "pre"),
33+
)
1734

1835
def test_version_info_lizmap_status(self, data: Path):
1936
"""Test version info according to LWC version.

0 commit comments

Comments
 (0)