1
0
mirror of https://github.com/home-assistant/supervisor.git synced 2025-12-24 20:35:55 +00:00

Update API for hass api v2 (#14)

* Update API for hass api v2

* fix lint

* Refactory the old version of host_control

* cleanup

* Cleanup name inside addons/data

* Cleanup name inside addons/data p2

* Rename api list

* Fix path bug

* Fix wrong config set
This commit is contained in:
Pascal Vizeli
2017-04-26 11:15:56 +02:00
committed by GitHub
parent a0f17ffd1d
commit 76cead72e8
15 changed files with 185 additions and 169 deletions

View File

@@ -7,7 +7,7 @@ from voluptuous.humanize import humanize_error
from .util import api_process, api_process_raw, api_validate
from ..const import (
ATTR_VERSION, ATTR_CURRENT, ATTR_STATE, ATTR_BOOT, ATTR_OPTIONS,
ATTR_VERSION, ATTR_LAST_VERSION, ATTR_STATE, ATTR_BOOT, ATTR_OPTIONS,
STATE_STOPPED, STATE_STARTED, BOOT_AUTO, BOOT_MANUAL)
_LOGGER = logging.getLogger(__name__)
@@ -47,14 +47,13 @@ class APIAddons(object):
"""Return addon information."""
addon = self._extract_addon(request)
info = {
return {
ATTR_VERSION: self.addons.version_installed(addon),
ATTR_CURRENT: self.addons.get_version(addon),
ATTR_LAST_VERSION: self.addons.get_last_version(addon),
ATTR_STATE: await self.addons.state(addon),
ATTR_BOOT: self.addons.get_boot(addon),
ATTR_OPTIONS: self.addons.get_options(addon),
}
return info
@api_process
async def options(self, request):
@@ -66,12 +65,12 @@ class APIAddons(object):
vol.Optional(ATTR_OPTIONS): options_schema,
})
addon_config = await api_validate(addon_schema, request)
body = await api_validate(addon_schema, request)
if ATTR_OPTIONS in addon_config:
self.addons.set_options(addon, addon_config[ATTR_OPTIONS])
if ATTR_BOOT in addon_config:
self.addons.set_options(addon, addon_config[ATTR_BOOT])
if ATTR_OPTIONS in body:
self.addons.set_options(addon, body[ATTR_OPTIONS])
if ATTR_BOOT in body:
self.addons.set_boot(addon, body[ATTR_BOOT])
return True
@@ -81,7 +80,7 @@ class APIAddons(object):
body = await api_validate(SCHEMA_VERSION, request)
addon = self._extract_addon(request, check_installed=False)
version = body.get(
ATTR_VERSION, self.addons.get_version(addon))
ATTR_VERSION, self.addons.get_last_version(addon))
return await asyncio.shield(
self.addons.install(addon, version), loop=self.loop)
@@ -130,7 +129,7 @@ class APIAddons(object):
body = await api_validate(SCHEMA_VERSION, request)
addon = self._extract_addon(request)
version = body.get(
ATTR_VERSION, self.addons.get_version(addon))
ATTR_VERSION, self.addons.get_last_version(addon))
if version == self.addons.version_installed(addon):
raise RuntimeError("Version is already in use")