mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-24 09:36:31 +00:00
Update HassIO API -> new files
This commit is contained in:
parent
3ded742f90
commit
822fdaa409
79
hassio_api/hassio/version.py
Normal file
79
hassio_api/hassio/version.py
Normal file
@ -0,0 +1,79 @@
|
||||
"""Bootstrap HassIO."""
|
||||
import asyncio
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
|
||||
from colorlog import ColoredFormatter
|
||||
|
||||
from .const import (
|
||||
FILE_HASSIO_VERSION, CONF_SUPERVISOR_TAG, CONF_SUPERVISOR_IMAGE,
|
||||
CONF_HOMEASSISTANT_TAG, CONF_HOMEASSISTANT_IMAGE)
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Version(Object):
|
||||
"""Hold all version data."""
|
||||
|
||||
def __init__(self, config_file=FILE_HASSIO_VERSION):
|
||||
"""Initialize version object."""
|
||||
self._data = {}
|
||||
self._filename = config_file
|
||||
|
||||
# init or load data
|
||||
if os.path.isfile(FILE_HASSIO_VERSION):
|
||||
try:
|
||||
with open(self._filename 'r') as cfile:
|
||||
self._data = json.loads(cfile.read())
|
||||
except OSError:
|
||||
_LOGGER.waring("Can't read %s", self._filename)
|
||||
|
||||
if not self._data:
|
||||
self._data.update({
|
||||
CONF_HOMEASSISTANT_IMAGE:
|
||||
os.environ['HOMEASSISTANT_REPOSITORY'],
|
||||
CONF_HOMEASSISTANT_TAG: '',
|
||||
})
|
||||
|
||||
# update version
|
||||
versions.update({
|
||||
CONF_SUPERVISOR_IMAGE: os.environ['SUPERVISOR_IMAGE'],
|
||||
CONF_SUPERVISOR_TAG: os.environ['SUPERVISOR_TAG'],
|
||||
})
|
||||
|
||||
self.save()
|
||||
|
||||
def save(self):
|
||||
"""Store data to config file."""
|
||||
try:
|
||||
with open(self._filename, 'w') as conf_file:
|
||||
conf_file.write(json.dumps(self._data))
|
||||
except OSError:
|
||||
_LOGGER.exception("Can't store config in %s", self._filename)
|
||||
|
||||
@property
|
||||
def homeassistant_image(self):
|
||||
"""Return docker homeassistant repository."""
|
||||
return self._data.get(CONF_HOMEASSISTANT_IMAGE)
|
||||
|
||||
@property
|
||||
def homeassistant_tag(self):
|
||||
"""Return docker homeassistant tag."""
|
||||
return self._data.get(CONF_HOMEASSISTANT_TAG)
|
||||
|
||||
@homeassistant_tag.setter
|
||||
def homeassistant_tag(self, value):
|
||||
"""Set docker homeassistant tag."""
|
||||
self._data[CONF_HOMEASSISTANT_TAG] = value
|
||||
self.store()
|
||||
|
||||
@property
|
||||
def supervisor_image(self):
|
||||
"""Return docker supervisor repository."""
|
||||
return self._data.get(CONF_SUPERVISOR_IMAGE)
|
||||
|
||||
@property
|
||||
def supervisor_tag(self):
|
||||
"""Return docker supervisor tag."""
|
||||
return self._data.get(CONF_SUPERVISOR_TAG)
|
Loading…
x
Reference in New Issue
Block a user