INNER CODE UNIT · Python
_parse_version
Duelion/homebox-companion · server/app.py:56
def _parse_version(version_str: str) -> tuple[int, ...]:
"""Parse a version string into a tuple of integers for comparison."""
# Strip leading 'v' if present
version_str = version_str.lstrip("v")
# Handle dev versions
if ".dev" in version_str:
version_str = version_str.split(".dev")[0]
# Parse major.minor.patch
parts = version_str.split(".")
return tuple(int(p) for p in parts if p.isdigit())
def _is_newer_version(latest: str, current: str) -> bool:
"""Check if latest version is newer than current version."""
try:
latest_parts = _parse_version(latest)
current_parts = _parse_version(current)
return latest_parts > current_parts