1
0
mirror of https://github.com/home-assistant/supervisor.git synced 2025-12-23 03:48:57 +00:00

Bugfix Check Config for Home-Assistant (#350)

* add logger

* Bugfix config check
This commit is contained in:
Pascal Vizeli
2018-02-10 00:10:30 +01:00
committed by GitHub
parent e939c29efa
commit 23c35d4c80
4 changed files with 20 additions and 14 deletions

View File

@@ -1,5 +1,6 @@
"""HomeAssistant control object."""
import asyncio
from collections import namedtuple
import logging
import os
import re
@@ -23,6 +24,8 @@ _LOGGER = logging.getLogger(__name__)
RE_YAML_ERROR = re.compile(r"homeassistant\.util\.yaml")
ConfigResult = namedtuple('ConfigResult', ['valid', 'log'])
class HomeAssistant(JsonConfig, CoreSysAttributes):
"""Hass core object for handle it."""
@@ -263,19 +266,19 @@ class HomeAssistant(JsonConfig, CoreSysAttributes):
async def check_config(self):
"""Run homeassistant config check."""
exit_code, log = await self.instance.execute_command(
result = await self.instance.execute_command(
"python3 -m homeassistant -c /config --script check_config"
)
# if not valid
if exit_code is None:
return (False, "")
if result.exit_code is None:
return ConfigResult(False, "")
# parse output
log = convert_to_ascii(log)
if exit_code != 0 or RE_YAML_ERROR.search(log):
return (False, log)
return (True, log)
log = convert_to_ascii(result.output)
if result.exit_code != 0 or RE_YAML_ERROR.search(log):
return ConfigResult(False, log)
return ConfigResult(True, log)
async def check_api_state(self):
"""Check if Home-Assistant up and running."""