Add websession for reload (#86)

This commit is contained in:
Pascal Vizeli 2017-06-29 07:57:04 +02:00 committed by GitHub
parent 0ed48a7741
commit 90030d3a28
3 changed files with 10 additions and 5 deletions

View File

@ -43,10 +43,12 @@ class RestAPI(object):
self.webapp.router.add_get('/network/info', api_net.info)
self.webapp.router.add_post('/network/options', api_net.options)
def register_supervisor(self, supervisor, addons, host_control):
def register_supervisor(self, supervisor, addons, host_control,
websession):
"""Register supervisor function."""
api_supervisor = APISupervisor(
self.config, self.loop, supervisor, addons, host_control)
self.config, self.loop, supervisor, addons, host_control,
websession)
self.webapp.router.add_get('/supervisor/ping', api_supervisor.ping)
self.webapp.router.add_get('/supervisor/info', api_supervisor.info)

View File

@ -30,13 +30,15 @@ SCHEMA_VERSION = vol.Schema({
class APISupervisor(object):
"""Handle rest api for supervisor functions."""
def __init__(self, config, loop, supervisor, addons, host_control):
def __init__(self, config, loop, supervisor, addons, host_control,
websession):
"""Initialize supervisor rest api part."""
self.config = config
self.loop = loop
self.supervisor = supervisor
self.addons = addons
self.host_control = host_control
self.websession = websession
def _addons_list(self, only_installed=False):
"""Return a list of addons."""
@ -133,7 +135,8 @@ class APISupervisor(object):
async def reload(self, request):
"""Reload addons, config ect."""
tasks = [
self.addons.reload(), self.config.fetch_update_infos(),
self.addons.reload(),
self.config.fetch_update_infos(self.websession),
self.host_control.load()
]
results, _ = await asyncio.shield(

View File

@ -76,7 +76,7 @@ class HassIO(object):
self.api.register_host(self.host_control)
self.api.register_network(self.host_control)
self.api.register_supervisor(
self.supervisor, self.addons, self.host_control)
self.supervisor, self.addons, self.host_control, self.websession)
self.api.register_homeassistant(self.homeassistant)
self.api.register_addons(self.addons)
self.api.register_security()