From 01d18d5ff393cda550cda721ebc9378f2e5287ef Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sat, 17 Jun 2017 22:47:56 +0200 Subject: [PATCH] Allow custom options without validate (#80) --- hassio/addons/data.py | 6 ++++-- hassio/addons/validate.py | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/hassio/addons/data.py b/hassio/addons/data.py index 197ad7cb8..e17f68041 100644 --- a/hassio/addons/data.py +++ b/hassio/addons/data.py @@ -393,5 +393,7 @@ class AddonsData(Config): """Create a schema for addon options.""" raw_schema = self._system_data[addon][ATTR_SCHEMA] - schema = vol.Schema(vol.All(dict, validate_options(raw_schema))) - return schema + if isinstance(raw_schema, bool): + return vol.Schema(dict) + + return vol.Schema(vol.All(dict, validate_options(raw_schema))) diff --git a/hassio/addons/validate.py b/hassio/addons/validate.py index 62a0e824d..95795c02e 100644 --- a/hassio/addons/validate.py +++ b/hassio/addons/validate.py @@ -62,11 +62,11 @@ SCHEMA_ADDON_CONFIG = vol.Schema(vol.All({ vol.Optional(ATTR_ENVIRONMENT): {vol.Match(r"\w*"): vol.Coerce(str)}, vol.Optional(ATTR_PRIVILEGED): [vol.In(PRIVILEGE_ALL)], vol.Required(ATTR_OPTIONS): dict, - vol.Required(ATTR_SCHEMA): { + vol.Required(ATTR_SCHEMA): vol.Any({ vol.Coerce(str): vol.Any(ADDON_ELEMENT, [ vol.Any(ADDON_ELEMENT, {vol.Coerce(str): ADDON_ELEMENT}) ]) - }, + }, False), vol.Optional(ATTR_IMAGE): vol.Match(r"\w*/\w*"), }, check_network), extra=vol.ALLOW_EXTRA)