diff --git a/API.md b/API.md index 440d4f545..f42d0b0cd 100644 --- a/API.md +++ b/API.md @@ -377,6 +377,7 @@ Get all available addons. { "name": "xy bla", "description": "description", + "long_description": "null|markdown", "auto_update": "bool", "url": "null|url of addon", "detached": "bool", diff --git a/hassio/addons/addon.py b/hassio/addons/addon.py index 8e118a12e..076dc82b1 100644 --- a/hassio/addons/addon.py +++ b/hassio/addons/addon.py @@ -167,6 +167,19 @@ class Addon(object): """Return description of addon.""" return self._mesh[ATTR_DESCRIPTON] + @property + def long_description(self): + """Return README.md as long_description.""" + readme = Path(self.path_location, 'README.md') + + # If readme not exists + if not readme.exists(): + return None + + # Return data + with readme.open('r') as readme_file: + return readme_file.read() + @property def repository(self): """Return repository of addon.""" diff --git a/hassio/api/addons.py b/hassio/api/addons.py index f5f7232b6..295d133b5 100644 --- a/hassio/api/addons.py +++ b/hassio/api/addons.py @@ -14,7 +14,7 @@ from ..const import ( ATTR_INSTALLED, ATTR_LOGO, ATTR_WEBUI, ATTR_DEVICES, ATTR_PRIVILEGED, ATTR_AUDIO, ATTR_AUDIO_INPUT, ATTR_AUDIO_OUTPUT, ATTR_HASSIO_API, ATTR_GPIO, ATTR_HOMEASSISTANT_API, ATTR_STDIN, BOOT_AUTO, BOOT_MANUAL, - ATTR_CHANGELOG, ATTR_HOST_IPC, ATTR_HOST_DBUS, + ATTR_CHANGELOG, ATTR_HOST_IPC, ATTR_HOST_DBUS, ATTR_LONG_DESCRIPTION, CONTENT_TYPE_PNG, CONTENT_TYPE_BINARY, CONTENT_TYPE_TEXT) from ..validate import DOCKER_PORTS @@ -108,6 +108,7 @@ class APIAddons(object): return { ATTR_NAME: addon.name, ATTR_DESCRIPTON: addon.description, + ATTR_LONG_DESCRIPTION: addon.long_description, ATTR_VERSION: addon.version_installed, ATTR_AUTO_UPDATE: addon.auto_update, ATTR_REPOSITORY: addon.repository, diff --git a/hassio/const.py b/hassio/const.py index 9907f39ab..c1875acec 100644 --- a/hassio/const.py +++ b/hassio/const.py @@ -57,6 +57,7 @@ ATTR_WATCHDOG = 'watchdog' ATTR_CHANGELOG = 'changelog' ATTR_DATE = 'date' ATTR_ARCH = 'arch' +ATTR_LONG_DESCRIPTION = 'long_description' ATTR_HOSTNAME = 'hostname' ATTR_TIMEZONE = 'timezone' ATTR_ARGS = 'args'