Skip to content

Commit

Permalink
Fix version
Browse files Browse the repository at this point in the history
  • Loading branch information
t20100 committed Jul 8, 2024
1 parent f0de8e3 commit ae65590
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions src/hdf5plugin/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,17 @@ class _VersionInfo(NamedTuple):
releaselevel: str = "final"
serial: int = 0

def __init__(self, version: str):
pattern = r"(?P<major>\d+)\.(?P<minor>\d+)\.(?P<micro>\d+)((?P<prerelease>a|b|rc)(?P<serial>\d+))?"
match = re.fullmatch(pattern, version, re.ASCII)
fields = {k: v for k, v in match.groupdict().items() if v is not None}

# Convert prerelease to releaselevel
prerelease = fields.pop("prerelease", None)
if prerelease is not None:
fields["releaselevel"] = {"a": "alpha", "b": "beta", "rc": "candidate"}[
prerelease
]
def _version_info(version: str) -> _VersionInfo:
pattern = r"(?P<major>\d+)\.(?P<minor>\d+)\.(?P<micro>\d+)((?P<prerelease>a|b|rc)(?P<serial>\d+))?"
match = re.fullmatch(pattern, version, re.ASCII)
fields = {k: v for k, v in match.groupdict().items() if v is not None}
# Remove prerelease and convert it to releaselevel
prerelease = fields.pop("prerelease", None)
releaselevel = {"a": "alpha", "b": "beta", "rc": "candidate", None: "final"}[prerelease]
version_fields = {k: int(v) for k, v in fields.items()}

super().__init__(**fields)
return _VersionInfo(releaselevel=releaselevel, **version_fields)


version_info = _VersionInfo(version)
version_info = _version_info(version)

0 comments on commit ae65590

Please sign in to comment.