From 3d124eba7e83ea60b87c2cf538b2295a082d694a Mon Sep 17 00:00:00 2001 From: jo Date: Tue, 11 Oct 2022 11:13:17 +0200 Subject: [PATCH] fix(api): allow single digit version for legacy schema --- api/libretime_api/legacy/migrations/_version.py | 5 ++++- api/libretime_api/legacy/tests/migrations/test_version.py | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/api/libretime_api/legacy/migrations/_version.py b/api/libretime_api/legacy/migrations/_version.py index d2e544bab..b05dc79eb 100644 --- a/api/libretime_api/legacy/migrations/_version.py +++ b/api/libretime_api/legacy/migrations/_version.py @@ -23,7 +23,10 @@ def parse_version(version: str): if not match: raise Exception(f"invalid version {version}") - major, minor, patch = map(int, match.group("release").split(".")) + release = list(map(int, match.group("release").split("."))) + major = release.pop(0) if release else 0 + minor = release.pop(0) if release else 0 + patch = release.pop(0) if release else 0 pre_mapping = {"alpha": -2, "beta": -1, None: 0, "": 0} pre = pre_mapping[match.group("pre_l")] diff --git a/api/libretime_api/legacy/tests/migrations/test_version.py b/api/libretime_api/legacy/tests/migrations/test_version.py index a7740cbb5..0e8300007 100644 --- a/api/libretime_api/legacy/tests/migrations/test_version.py +++ b/api/libretime_api/legacy/tests/migrations/test_version.py @@ -14,6 +14,8 @@ from ...migrations._version import parse_version ("3.0.0-beta.10", (3, 0, 0, -1, 10, 0)), ("2.5.2", (2, 5, 2, 0, 0, 0)), ("3.0.0", (3, 0, 0, 0, 0, 0)), + ("3.0", (3, 0, 0, 0, 0, 0)), + ("3", (3, 0, 0, 0, 0, 0)), # fmt: on ], ) @@ -35,6 +37,8 @@ def test_parse_version(version: str, expected): ("3.0.0", "4.0.0"), ("2.5.3", "3.0.0"), ("3.0.0", "3.0.0"), + ("3.0", "3.1"), + ("3", "4"), # fmt: on ], )