mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-12 19:56:29 +00:00
change handling with arch detection
This commit is contained in:
parent
c019d1f3c5
commit
2bd1636097
@ -24,8 +24,10 @@ class AddonManager(AddonsData):
|
|||||||
self.repo = AddonsRepo(config, loop)
|
self.repo = AddonsRepo(config, loop)
|
||||||
self.dockers = {}
|
self.dockers = {}
|
||||||
|
|
||||||
async def prepare(self):
|
async def prepare(self, arch):
|
||||||
"""Startup addon management."""
|
"""Startup addon management."""
|
||||||
|
self.arch = arch
|
||||||
|
|
||||||
# load addon repository
|
# load addon repository
|
||||||
if await self.repo.load():
|
if await self.repo.load():
|
||||||
self.read_addons_repo()
|
self.read_addons_repo()
|
||||||
|
@ -52,6 +52,7 @@ class AddonsData(Config):
|
|||||||
super().__init__(FILE_HASSIO_ADDONS)
|
super().__init__(FILE_HASSIO_ADDONS)
|
||||||
self.config = config
|
self.config = config
|
||||||
self._addons_data = {}
|
self._addons_data = {}
|
||||||
|
self.arch = None
|
||||||
|
|
||||||
def read_addons_repo(self):
|
def read_addons_repo(self):
|
||||||
"""Read data from addons repository."""
|
"""Read data from addons repository."""
|
||||||
@ -195,7 +196,7 @@ class AddonsData(Config):
|
|||||||
"""Return image name of addon."""
|
"""Return image name of addon."""
|
||||||
if ATTR_IMAGE not in self._addons_data[addon]:
|
if ATTR_IMAGE not in self._addons_data[addon]:
|
||||||
return "{}/{}-addon-{}".format(
|
return "{}/{}-addon-{}".format(
|
||||||
DOCKER_REPO, self.config.hassio_arch, self.get_slug(addon))
|
DOCKER_REPO, self.arch, self.get_slug(addon))
|
||||||
|
|
||||||
return self._addons_data[addon][ATTR_IMAGE]
|
return self._addons_data[addon][ATTR_IMAGE]
|
||||||
|
|
||||||
|
@ -4,8 +4,7 @@ import os
|
|||||||
|
|
||||||
from .const import FILE_HASSIO_CONFIG, HASSIO_SHARE
|
from .const import FILE_HASSIO_CONFIG, HASSIO_SHARE
|
||||||
from .tools import (
|
from .tools import (
|
||||||
fetch_current_versions, get_arch_from_image, write_json_file,
|
fetch_current_versions, write_json_file, read_json_file)
|
||||||
read_json_file)
|
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -88,11 +87,6 @@ class CoreConfig(Config):
|
|||||||
"""Set beta upstream mode."""
|
"""Set beta upstream mode."""
|
||||||
self._data[UPSTREAM_BETA] = bool(value)
|
self._data[UPSTREAM_BETA] = bool(value)
|
||||||
|
|
||||||
@property
|
|
||||||
def hassio_arch(self):
|
|
||||||
"""Return arch they run."""
|
|
||||||
return get_arch_from_image(self.homeassistant_image)
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def homeassistant_image(self):
|
def homeassistant_image(self):
|
||||||
"""Return docker homeassistant repository."""
|
"""Return docker homeassistant repository."""
|
||||||
|
@ -15,6 +15,7 @@ from .const import (
|
|||||||
from .scheduler import Scheduler
|
from .scheduler import Scheduler
|
||||||
from .dock.homeassistant import DockerHomeAssistant
|
from .dock.homeassistant import DockerHomeAssistant
|
||||||
from .dock.supervisor import DockerSupervisor
|
from .dock.supervisor import DockerSupervisor
|
||||||
|
from .tools import get_arch_from_image
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -77,7 +78,8 @@ class HassIO(object):
|
|||||||
await self._setup_homeassistant()
|
await self._setup_homeassistant()
|
||||||
|
|
||||||
# Load addons
|
# Load addons
|
||||||
await self.addons.prepare()
|
arch = get_arch_from_image(self.supervisor.image)
|
||||||
|
await self.addons.prepare(arch)
|
||||||
|
|
||||||
# schedule addon update task
|
# schedule addon update task
|
||||||
self.scheduler.register_task(
|
self.scheduler.register_task(
|
||||||
|
@ -13,7 +13,7 @@ from .const import URL_HASSIO_VERSION, URL_HASSIO_VERSION_BETA
|
|||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
_RE_VERSION = re.compile(r"VERSION=(.*)")
|
_RE_VERSION = re.compile(r"VERSION=(.*)")
|
||||||
_IMAGE_ARCH = re.compile(r"([a-z0-9]*)-hassio-supervisor")
|
_IMAGE_ARCH = re.compile(r".*/([a-z0-9]*)-hassio-supervisor")
|
||||||
|
|
||||||
|
|
||||||
async def fetch_current_versions(websession, beta=False):
|
async def fetch_current_versions(websession, beta=False):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user