From 272d8b29f32ac3e767bc7db0f8dcee726e643535 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 2 Sep 2019 14:37:59 +0200 Subject: [PATCH] Fix version handling with nightly (#1273) * Fix version handling with nightly * fix lint --- hassio/addons/model.py | 6 ++++-- hassio/homeassistant.py | 6 ++++-- requirements.txt | 1 + 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/hassio/addons/model.py b/hassio/addons/model.py index 5e4bb20a3..1a895de61 100644 --- a/hassio/addons/model.py +++ b/hassio/addons/model.py @@ -1,8 +1,8 @@ """Init file for Hass.io add-ons.""" -from distutils.version import StrictVersion from pathlib import Path from typing import Any, Awaitable, Dict, List, Optional +from packaging import version as pkg_version import voluptuous as vol from ..const import ( @@ -482,7 +482,9 @@ class AddonModel(CoreSysAttributes): # Home Assistant version = config.get(ATTR_HOMEASSISTANT) or self.sys_homeassistant.version - if StrictVersion(self.sys_homeassistant.version) < StrictVersion(version): + if pkg_version.parse(self.sys_homeassistant.version) < pkg_version.parse( + version + ): return False return True diff --git a/hassio/homeassistant.py b/hassio/homeassistant.py index 29966e644..d9fd3c7ff 100644 --- a/hassio/homeassistant.py +++ b/hassio/homeassistant.py @@ -2,7 +2,6 @@ import asyncio from contextlib import asynccontextmanager, suppress from datetime import datetime, timedelta -from distutils.version import StrictVersion from ipaddress import IPv4Address import logging import os @@ -16,6 +15,7 @@ from uuid import UUID import aiohttp from aiohttp import hdrs import attr +from packaging import version as pkg_version from .const import ( ATTR_ACCESS_TOKEN, @@ -80,7 +80,9 @@ class HomeAssistant(JsonConfig, CoreSysAttributes): try: # Evaluate Version if we lost this information if not self.version: - self.version = await self.instance.get_latest_version(key=StrictVersion) + self.version = await self.instance.get_latest_version( + key=pkg_version.parse + ) await self.instance.attach(tag=self.version) except DockerAPIError: diff --git a/requirements.txt b/requirements.txt index 71a3bc0f4..ec9f64288 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,6 +7,7 @@ cpe==1.2.1 cryptography==2.7 docker==4.0.2 gitpython==3.0.2 +packaging==19.1 pytz==2019.2 pyudev==0.21.0 uvloop==0.12.2