paperwork: Migrate to newer semver construction methods

This commit is contained in:
Adam Goldsmith 2023-01-31 13:16:36 -05:00
parent a7544e4c61
commit 7d84e38e1b

View File

@ -1,6 +1,6 @@
import re
import semver
from semver import VersionInfo
from django.db import models
from django.core.validators import RegexValidator
@ -118,17 +118,15 @@ class CertificationVersion(models.Model):
)
]
def semantic_version(self) -> semver.VersionInfo:
def semantic_version(self) -> VersionInfo:
if self.version is None:
return "0.0.0-none"
elif self.version == "MembershipWorks Label":
return semver.parse_version_info("0.0.1-mw-label")
return VersionInfo.parse("0.0.1-mw-label")
elif match := VALID_SEMVER_PATTERN.match(self.version):
return semver.parse_version_info(
f'{match["semver"]}+{match["approvaldate"]}'
)
return VersionInfo.parse(f'{match["semver"]}+{match["approvaldate"]}')
else:
return semver.parse_version_info(
return VersionInfo.parse(
"0.0.1-" + re.sub(r"[^.a-zA-Z0-9]", "-", self.version)
)