From f340a19e400f8ffe373949edac164bc0aac98b9b Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 12 Apr 2017 22:59:40 +0200 Subject: [PATCH] fix lint --- hassio/addons/__init__.py | 8 ++++---- hassio/addons/data.py | 33 +++++++++++++++------------------ hassio/addons/git.py | 8 ++++---- hassio/api/__init__.py | 2 +- hassio/api/addons.py | 15 ++++++++------- hassio/api/homeassistant.py | 3 ++- hassio/config.py | 5 ++--- hassio/const.py | 5 +++-- hassio/dock/addon.py | 2 +- hassio/dock/supervisor.py | 2 +- 10 files changed, 41 insertions(+), 42 deletions(-) diff --git a/hassio/addons/__init__.py b/hassio/addons/__init__.py index a02a66148..d6f7146a7 100644 --- a/hassio/addons/__init__.py +++ b/hassio/addons/__init__.py @@ -5,8 +5,8 @@ import shutil from .data import AddonsData from .git import AddonsRepo -from ..const import STATE_STOPED, STATE_STARTED -from ..docker.addon import DockerAddon +from ..const import STATE_STOPPED, STATE_STARTED +from ..dock.addon import DockerAddon _LOGGER = logging.getLogger(__name__) @@ -76,7 +76,7 @@ class AddonManager(AddonsData): _LOGGER.error("No docker found for addon %s.", addon) return False - if not await self.dockers[addon].remove(version): + if not await self.dockers[addon].remove(): return False if os.path.isdir(self.path_data(addon)): @@ -96,7 +96,7 @@ class AddonManager(AddonsData): if await self.dockers[addon].is_running(): return STATE_STARTED - return STATE_STOPED + return STATE_STOPPED async def start_addon(self, addon): """Set options and start addon.""" diff --git a/hassio/addons/data.py b/hassio/addons/data.py index aa8571725..dec72b829 100644 --- a/hassio/addons/data.py +++ b/hassio/addons/data.py @@ -7,9 +7,10 @@ from voluptuous.humanize import humanize_error from ..const import ( FILE_HASSIO_ADDONS, ATTR_NAME, ATTR_VERSION, ATTR_SLUG, ATTR_DESCRIPTON, - ATTR_STARTUP, ATTR_BOOT, ATTR_MAP_SSL, ATTR_MAP_CONFIG, ATTR_MAP_DATA, - ATTR_OPTIONS, ATTR_PORTS, STARTUP_ONCE, STARTUP_AFTER, STARTUP_BEFORE, - BOOT_AUTO, BOOT_MANUAL, DOCKER_REPO, ATTR_INSTALLED, ATTR_SCHEMA) + ATTR_STARTUP, ATTR_BOOT, ATTR_MAP_SSL, ATTR_MAP_CONFIG, ATTR_OPTIONS, + ATTR_PORTS, STARTUP_ONCE, STARTUP_AFTER, STARTUP_BEFORE, BOOT_AUTO, + BOOT_MANUAL, DOCKER_REPO, ATTR_INSTALLED, ATTR_SCHEMA) +from ..config import Config from ..tools import read_json_file, write_json_file _LOGGER = logging.getLogger(__name__) @@ -31,7 +32,7 @@ SCHEMA_ADDON_CONFIG = vol.Schema({ vol.Required(ATTR_STARTUP): vol.In([STARTUP_BEFORE, STARTUP_AFTER, STARTUP_ONCE]), vol.Required(ATTR_BOOT): - vol.IN([BOOT_AUTO, BOOT_MANUAL]), + vol.In([BOOT_AUTO, BOOT_MANUAL]), vol.Optional(ATTR_PORTS): dict, vol.Required(ATTR_MAP_CONFIG): vol.Boolean(), vol.Required(ATTR_MAP_SSL): vol.Boolean(), @@ -48,7 +49,7 @@ class AddonsData(Config): def __init__(self, config): """Initialize data holder.""" super().__init__(FILE_HASSIO_ADDONS) - self.config + self.config = config self._addons_data = {} def read_addons_repo(self): @@ -66,7 +67,7 @@ class AddonsData(Config): _LOGGER.warning("Can't read %s", addon) except vol.Invalid as ex: - _LOGGER.warnign("Can't read %s -> %s.", addon, + _LOGGER.warning("Can't read %s -> %s.", addon, humanize_error(addon_config, ex)) @property @@ -83,7 +84,7 @@ class AddonsData(Config): def list(self): """Return a list of available addons.""" data = [] - for addon, values in self._addons.items(): + for addon, values in self._addons_data.items(): data.append({ ATTR_NAME: values[ATTR_NAME], ATTR_SLUG: values[ATTR_SLUG], @@ -114,7 +115,7 @@ class AddonsData(Config): } self.save() - def set_uninstall_addon(self, addon, version): + def set_uninstall_addon(self, addon): """Set addon as uninstalled.""" self._data.pop(addon, None) self.save() @@ -172,10 +173,6 @@ class AddonsData(Config): """Return True if ssl map is needed.""" return self._addons_data[addon][ATTR_MAP_SSL] - def need_data(self, addon): - """Return True if data map is needed.""" - return self._addons_data[addon][ATTR_MAP_DATA] - def path_data(self, addon): """Return addon data path inside supervisor.""" return "{}/{}".format( @@ -201,7 +198,7 @@ class AddonsData(Config): def validate(struct): """Validate schema.""" - validated = {} + options = {} for key, value in struct.items(): if key not in raw_schema: raise vol.Invalid("Unknown options {}.".format(key)) @@ -209,18 +206,18 @@ class AddonsData(Config): typ = raw_schema[key] try: if typ == V_STR: - validate[key] = str(value) + options[key] = str(value) elif typ == V_INT: - validate[key] = int(value) + options[key] = int(value) elif typ == V_FLOAT: - validate[key] = float(value) + options[key] = float(value) elif typ == V_BOOL: - validate[key] = vol.Boolean()(value) + options[key] = vol.Boolean()(value) except TypeError: raise vol.Invalid( "Type error for {}.".format(key)) from None - return validated + return options schema = vol.Schema(vol.All(dict(), validate)) return schema diff --git a/hassio/addons/git.py b/hassio/addons/git.py index a81731fa6..216fd7c69 100644 --- a/hassio/addons/git.py +++ b/hassio/addons/git.py @@ -25,7 +25,7 @@ class AddonsRepo(object): if not os.path.isdir(self.config.path_addons_repo): return await self.clone() - await with self._lock: + async with self._lock: try: self.repo = await self.loop.run_in_executor( None, git.Repo(self.config.path_addons_repo)) @@ -38,7 +38,7 @@ class AddonsRepo(object): async def clone(self): """Clone git addon repo.""" - await with self._lock: + async with self._lock: try: self.repo = await self.loop.run_in_executor( None, git.Repo.clone_from, URL_HASSIO_ADDONS, @@ -56,9 +56,9 @@ class AddonsRepo(object): _LOGGER.warning("It is already a task in progress.") return False - await with self._lock: + async with self._lock: try: - yield from self.loop.run_in_executor( + await self.loop.run_in_executor( None, self.repo.remotes.origin.pull) except (git.InvalidGitRepositoryError, git.NoSuchPathError) as err: diff --git a/hassio/api/__init__.py b/hassio/api/__init__.py index 70cad7121..84ef3573b 100644 --- a/hassio/api/__init__.py +++ b/hassio/api/__init__.py @@ -3,7 +3,7 @@ import logging from aiohttp import web -from .addons import APIAddonManager +from .addons import APIAddons from .homeassistant import APIHomeAssistant from .host import APIHost from .network import APINetwork diff --git a/hassio/api/addons.py b/hassio/api/addons.py index fade3c8a2..28a9d9c5e 100644 --- a/hassio/api/addons.py +++ b/hassio/api/addons.py @@ -6,7 +6,8 @@ import voluptuous as vol from .util import api_process, api_validate from ..const import ( - ATTR_VERSION, ATTR_CURRENT, ATTR_STATE, ATTR_BOOT, ATTR_OPTIONS) + ATTR_VERSION, ATTR_CURRENT, ATTR_STATE, ATTR_BOOT, ATTR_OPTIONS, + STATE_STOPPED, STATE_STARTED) _LOGGER = logging.getLogger(__name__) @@ -69,7 +70,7 @@ class APIAddons(object): ATTR_VERSION, self.addons.get_version(addon)) return await asyncio.shield( - self.addons.addon_install(addon, version)) + self.addons.addon_install(addon, version), loop=self.loop) @api_process async def uninstall(self, request): @@ -77,7 +78,7 @@ class APIAddons(object): addon = self._extract_addon(request) return await asyncio.shield( - self.addons.addon_uninstall(addon)) + self.addons.addon_uninstall(addon), loop=self.loop) @api_process async def start(self, request): @@ -88,18 +89,18 @@ class APIAddons(object): raise RuntimeError("Addon is already running.") return await asyncio.shield( - self.addons.addon_start(addon)) + self.addons.addon_start(addon), loop=self.loop) @api_process async def stop(self, request): """Stop addon.""" addon = self._extract_addon(request) - if await self.addons.state_addon(addon) == STATE_STOPED: + if await self.addons.state_addon(addon) == STATE_STOPPED: raise RuntimeError("Addon is already stoped.") return await asyncio.shield( - self.addons.addon_stop(addon)) + self.addons.addon_stop(addon), loop=self.loop) @api_process async def update(self, request): @@ -113,4 +114,4 @@ class APIAddons(object): raise RuntimeError("Version is already in use.") return await asyncio.shield( - self.addons.addon_update(addon, version)) + self.addons.addon_update(addon, version), loop=self.loop) diff --git a/hassio/api/homeassistant.py b/hassio/api/homeassistant.py index cd55a2453..a36ba5f0d 100644 --- a/hassio/api/homeassistant.py +++ b/hassio/api/homeassistant.py @@ -45,4 +45,5 @@ class APIHomeAssistant(object): if version == self.dock_hass.version: raise RuntimeError("%s is already in use.", version) - return await asyncio.shield(self.dock_hass.update(version)) + return await asyncio.shield( + self.dock_hass.update(version), loop=self.loop) diff --git a/hassio/config.py b/hassio/config.py index 173e7dee1..2bdc61a7f 100644 --- a/hassio/config.py +++ b/hassio/config.py @@ -1,5 +1,4 @@ """Bootstrap HassIO.""" -import json import logging import os @@ -40,7 +39,7 @@ class Config(object): def save(self): """Store data to config file.""" - if not write_json_file(self._filename, self._data) + if not write_json_file(self._filename, self._data): _LOGGER.exception("Can't store config in %s", self._filename) return False return True @@ -53,7 +52,7 @@ class CoreConfig(Config): """Initialize config object.""" self.websession = websession - super().__ini__(FILE_HASSIO_CONFIG) + super().__init__(FILE_HASSIO_CONFIG) # init data if not self._data: diff --git a/hassio/const.py b/hassio/const.py index 2c6123277..2f33d1f1d 100644 --- a/hassio/const.py +++ b/hassio/const.py @@ -43,11 +43,12 @@ ATTR_MAP_SSL = 'map_ssl' ATTR_OPTIONS = 'options' ATTR_INSTALLED = 'installed' ATTR_STATE = 'state' +ATTR_SCHEMA = 'schema' STARTUP_BEFORE = 'before' STARTUP_AFTER = 'after' STARTUP_ONCE = 'once' -BOOT_STOP = 'auto' +BOOT_AUTO = 'auto' BOOT_MANUAL = 'manual' STATE_STARTED = 'started' -STATE_STOPED = 'stoped' +STATE_STOPPED = 'stopped' diff --git a/hassio/dock/addon.py b/hassio/dock/addon.py index 667968787..07ffb3fbe 100644 --- a/hassio/dock/addon.py +++ b/hassio/dock/addon.py @@ -19,7 +19,7 @@ class DockerAddon(DockerBase): super().__init__( config, loop, dock, image=addons_data.get_image(addon)) self.addon = addon - self.addons_data + self.addons_data = addons_data @property def docker_name(self): diff --git a/hassio/dock/supervisor.py b/hassio/dock/supervisor.py index 1f61ecbde..ed3f1aeed 100644 --- a/hassio/dock/supervisor.py +++ b/hassio/dock/supervisor.py @@ -28,6 +28,6 @@ class DockerSupervisor(DockerBase): """Update docker image.""" raise RuntimeError("Not support on supervisor docker container!") - async def remove(self, tag): + async def remove(self): """Remove docker image.""" raise RuntimeError("Not support on supervisor docker container!")