mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-07-07 17:26:32 +00:00
fix lint
This commit is contained in:
parent
20856126c8
commit
f340a19e40
@ -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."""
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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:
|
||||
|
@ -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'
|
||||
|
@ -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):
|
||||
|
@ -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!")
|
||||
|
Loading…
x
Reference in New Issue
Block a user