refactoring

This commit is contained in:
Devaev Maxim
2020-09-08 12:58:09 +03:00
parent d528a3002e
commit 081797b253
4 changed files with 17 additions and 10 deletions

View File

@@ -27,8 +27,7 @@ from typing import List
from aiohttp.web import Request
from aiohttp.web import Response
from ....validators import check_string_in_list
from ....validators.basic import valid_string_list
from ....validators.kvm import valid_info_fields
from ..info import InfoManager
@@ -54,8 +53,7 @@ class InfoApi:
def __valid_info_fields(self, request: Request) -> List[str]:
subs = self.__info_manager.get_subs()
return (sorted(set(valid_string_list(
return sorted(valid_info_fields(
arg=request.query.get("fields", ",".join(subs)),
subval=(lambda field: check_string_in_list(field, "info field", subs)),
name="info fields list",
))) or subs)
variants=subs,
) or subs)

View File

@@ -20,7 +20,7 @@
# ========================================================================== #
from typing import List
from typing import Set
from ....yamlconf import Section
@@ -41,8 +41,8 @@ class InfoManager:
"hw": HwInfoSubmanager(**config.kvmd.info.hw._unpack()),
}
def get_subs(self) -> List[str]:
return list(self.__subs)
def get_subs(self) -> Set[str]:
return set(self.__subs)
def get_submanager(self, name: str) -> BaseInfoSubmanager:
return self.__subs[name]

View File

@@ -170,7 +170,7 @@ class KvmdServer(HttpServer): # pylint: disable=too-many-arguments,too-many-ins
],
*[
_Component(f"Info manager ({sub})", f"info_{sub}_state", info_manager.get_submanager(sub))
for sub in info_manager.get_subs()
for sub in sorted(info_manager.get_subs())
],
*[
_Component("Wake-on-LAN", "wol_state", wol),