From 63b96700e0cbb3132c474eec309dc2cd3f9272bb Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 8 May 2017 19:46:08 +0200 Subject: [PATCH] Add more infos to /addons/xy/info (#36) --- API.md | 4 ++++ hassio/addons/data.py | 4 ++++ hassio/api/addons.py | 7 ++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/API.md b/API.md index 5aa938acd..94686d014 100644 --- a/API.md +++ b/API.md @@ -176,7 +176,11 @@ Output the raw docker log - GET `/addons/{addon}/info` ```json { + "name": "xy bla", + "description": "description", "url": "null|url of addon", + "detached": "bool", + "repository": "12345678|null", "version": "VERSION", "last_version": "LAST_VERSION", "state": "started|stopped", diff --git a/hassio/addons/data.py b/hassio/addons/data.py index 3676b086a..620311fd8 100644 --- a/hassio/addons/data.py +++ b/hassio/addons/data.py @@ -276,6 +276,10 @@ class AddonsData(Config): """Return description of addon.""" return self._system_data[addon][ATTR_DESCRIPTON] + def get_repository(self, addon): + """Return repository of addon.""" + return self._system_data[addon][ATTR_REPOSITORY] + def get_last_version(self, addon): """Return version of addon.""" if addon not in self._addons_cache: diff --git a/hassio/api/addons.py b/hassio/api/addons.py index d95fa19b7..b27afeb25 100644 --- a/hassio/api/addons.py +++ b/hassio/api/addons.py @@ -8,7 +8,8 @@ from voluptuous.humanize import humanize_error from .util import api_process, api_process_raw, api_validate from ..const import ( ATTR_VERSION, ATTR_LAST_VERSION, ATTR_STATE, ATTR_BOOT, ATTR_OPTIONS, - ATTR_URL, STATE_STOPPED, STATE_STARTED, BOOT_AUTO, BOOT_MANUAL) + ATTR_URL, ATTR_DESCRIPTON, ATTR_DETACHED, ATTR_NAME, ATTR_REPOSITORY, + STATE_STOPPED, STATE_STARTED, BOOT_AUTO, BOOT_MANUAL) _LOGGER = logging.getLogger(__name__) @@ -48,12 +49,16 @@ class APIAddons(object): addon = self._extract_addon(request) return { + ATTR_NAME: self.addons.get_name(addon), + ATTR_DESCRIPTON: self.addons.get_description(addon), ATTR_VERSION: self.addons.version_installed(addon), + ATTR_REPOSITORY: self.addons.get_repository(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), ATTR_URL: self.addons.get_url(addon), + ATTR_DETACHED: addon in self.addons.list_detached, } @api_process