Return only installed addons inside info call (#32)

This commit is contained in:
Pascal Vizeli 2017-05-07 16:33:27 +02:00 committed by GitHub
parent 4680ba6d0d
commit aa9c300d7c
2 changed files with 16 additions and 6 deletions

View File

@ -141,13 +141,18 @@ class AddonsData(Config):
return set(self._system_data.keys())
@property
def list_all(self):
"""Return a list of all addons."""
def data_all(self):
"""Return a dict of all addons."""
return {
**self._system_data,
**self._addons_cache
}
@property
def data_installed(self):
"""Return a dict of installed addons."""
return self._system_data.copy()
def list_startup(self, start_type):
"""Get list of installed addon with need start by type."""
addon_list = set()

View File

@ -36,12 +36,17 @@ class APISupervisor(object):
self.addons = addons
self.host_control = host_control
def _addons_list(self, only_installed):
def _addons_list(self, only_installed=False):
"""Return a list of addons."""
data = []
detached = self.addons.list_detached
for addon, values in self.addons.list_all.items():
if only_installed:
addons = self.addons.data_installed
else:
addons = self.addons.data_all
data = []
for addon, values in addons:
i_version = self.addons.version_installed(addon)
data.append({
@ -92,7 +97,7 @@ class APISupervisor(object):
async def available_addons(self, request):
"""Return information for all available addons."""
return {
ATTR_ADDONS: self._addons_list(only_installed=False),
ATTR_ADDONS: self._addons_list(),
ATTR_REPOSITORIES: self._repositories_list(),
}