from functools import cached_property
from dataclasses import dataclass
-from packaging.version import parse as parse_version, Version
+from packaging.version import Version
PROJECT_DIR = Path(__file__).parent.parent
elif len(matches) > 1:
raise ValueError(f"more than one version found in {fp}")
- vs = parse_version(matches[0].group("ver"))
- assert isinstance(vs, Version)
+ vs = Version(matches[0].group("ver"))
return vs
def _update_version_in_file(self, fp: Path, version: Version) -> None:
lines = f.readlines()
lns = self._find_lines(r"^[^\s]+ " + re.escape(str(version)), lines)
+ if not lns:
+ logger.warning("no change log line found")
+ return []
+
assert len(lns) == 1
start = end = lns[0] + 3
while lines[end].rstrip():