diff --git a/supervisor/core.py b/supervisor/core.py index a2f22cfd6..f891b7d5a 100644 --- a/supervisor/core.py +++ b/supervisor/core.py @@ -34,6 +34,9 @@ class Core(CoreSysAttributes): """Setup supervisor orchestration.""" self.state = CoreStates.STARTUP + # load last available data + await self.sys_updater.load() + # Load DBus await self.sys_dbus.load() @@ -61,9 +64,6 @@ class Core(CoreSysAttributes): # rest api views await self.sys_api.load() - # load last available data - await self.sys_updater.load() - # load last available data await self.sys_snapshots.load() diff --git a/supervisor/docker/interface.py b/supervisor/docker/interface.py index 8a6819d74..72c277262 100644 --- a/supervisor/docker/interface.py +++ b/supervisor/docker/interface.py @@ -444,7 +444,7 @@ class DockerInterface(CoreSysAttributes): _LOGGER.debug("No version found for %s", self.image) raise DockerAPIError() else: - _LOGGER.debug("Found HA versions: %s", available_version) + _LOGGER.debug("Found %s versions: %s", self.image, available_version) # Sort version and return latest version available_version.sort(key=key, reverse=True) diff --git a/supervisor/updater.py b/supervisor/updater.py index 81f8aa109..0904dc164 100644 --- a/supervisor/updater.py +++ b/supervisor/updater.py @@ -87,55 +87,49 @@ class Updater(JsonConfig, CoreSysAttributes): @property def image_homeassistant(self) -> Optional[str]: """Return latest version of Home Assistant.""" - return ( - self._data[ATTR_IMAGE] - .get(ATTR_HOMEASSISTANT, "") - .format(machine=self.sys_machine) + if ATTR_HOMEASSISTANT not in self._data[ATTR_IMAGE]: + return None + return self._data[ATTR_IMAGE][ATTR_HOMEASSISTANT].format( + machine=self.sys_machine ) @property def image_supervisor(self) -> Optional[str]: """Return latest version of Supervisor.""" - return ( - self._data[ATTR_IMAGE] - .get(ATTR_SUPERVISOR, "") - .format(arch=self.sys_arch.supervisor) + if ATTR_SUPERVISOR not in self._data[ATTR_IMAGE]: + return None + return self._data[ATTR_IMAGE][ATTR_SUPERVISOR].format( + arch=self.sys_arch.supervisor ) @property def image_cli(self) -> Optional[str]: """Return latest version of CLI.""" - return ( - self._data[ATTR_IMAGE] - .get(ATTR_CLI, "") - .format(arch=self.sys_arch.supervisor) - ) + if ATTR_CLI not in self._data[ATTR_IMAGE]: + return None + return self._data[ATTR_IMAGE][ATTR_CLI].format(arch=self.sys_arch.supervisor) @property def image_dns(self) -> Optional[str]: """Return latest version of DNS.""" - return ( - self._data[ATTR_IMAGE] - .get(ATTR_DNS, "") - .format(arch=self.sys_arch.supervisor) - ) + if ATTR_DNS not in self._data[ATTR_IMAGE]: + return None + return self._data[ATTR_IMAGE][ATTR_DNS].format(arch=self.sys_arch.supervisor) @property def image_audio(self) -> Optional[str]: """Return latest version of Audio.""" - return ( - self._data[ATTR_IMAGE] - .get(ATTR_AUDIO, "") - .format(arch=self.sys_arch.supervisor) - ) + if ATTR_AUDIO not in self._data[ATTR_IMAGE]: + return None + return self._data[ATTR_IMAGE][ATTR_AUDIO].format(arch=self.sys_arch.supervisor) @property def image_multicast(self) -> Optional[str]: """Return latest version of Multicast.""" - return ( - self._data[ATTR_IMAGE] - .get(ATTR_MULTICAST, "") - .format(arch=self.sys_arch.supervisor) + if ATTR_MULTICAST not in self._data[ATTR_IMAGE]: + return None + return self._data[ATTR_IMAGE][ATTR_MULTICAST].format( + arch=self.sys_arch.supervisor ) @property