mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-13 01:30:31 +08:00
refactoring
This commit is contained in:
parent
d528a3002e
commit
081797b253
@ -27,8 +27,7 @@ from typing import List
|
|||||||
from aiohttp.web import Request
|
from aiohttp.web import Request
|
||||||
from aiohttp.web import Response
|
from aiohttp.web import Response
|
||||||
|
|
||||||
from ....validators import check_string_in_list
|
from ....validators.kvm import valid_info_fields
|
||||||
from ....validators.basic import valid_string_list
|
|
||||||
|
|
||||||
from ..info import InfoManager
|
from ..info import InfoManager
|
||||||
|
|
||||||
@ -54,8 +53,7 @@ class InfoApi:
|
|||||||
|
|
||||||
def __valid_info_fields(self, request: Request) -> List[str]:
|
def __valid_info_fields(self, request: Request) -> List[str]:
|
||||||
subs = self.__info_manager.get_subs()
|
subs = self.__info_manager.get_subs()
|
||||||
return (sorted(set(valid_string_list(
|
return sorted(valid_info_fields(
|
||||||
arg=request.query.get("fields", ",".join(subs)),
|
arg=request.query.get("fields", ",".join(subs)),
|
||||||
subval=(lambda field: check_string_in_list(field, "info field", subs)),
|
variants=subs,
|
||||||
name="info fields list",
|
) or subs)
|
||||||
))) or subs)
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
# ========================================================================== #
|
# ========================================================================== #
|
||||||
|
|
||||||
|
|
||||||
from typing import List
|
from typing import Set
|
||||||
|
|
||||||
from ....yamlconf import Section
|
from ....yamlconf import Section
|
||||||
|
|
||||||
@ -41,8 +41,8 @@ class InfoManager:
|
|||||||
"hw": HwInfoSubmanager(**config.kvmd.info.hw._unpack()),
|
"hw": HwInfoSubmanager(**config.kvmd.info.hw._unpack()),
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_subs(self) -> List[str]:
|
def get_subs(self) -> Set[str]:
|
||||||
return list(self.__subs)
|
return set(self.__subs)
|
||||||
|
|
||||||
def get_submanager(self, name: str) -> BaseInfoSubmanager:
|
def get_submanager(self, name: str) -> BaseInfoSubmanager:
|
||||||
return self.__subs[name]
|
return self.__subs[name]
|
||||||
|
|||||||
@ -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))
|
_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),
|
_Component("Wake-on-LAN", "wol_state", wol),
|
||||||
|
|||||||
@ -34,6 +34,7 @@ from . import check_len
|
|||||||
|
|
||||||
from .basic import valid_stripped_string_not_empty
|
from .basic import valid_stripped_string_not_empty
|
||||||
from .basic import valid_number
|
from .basic import valid_number
|
||||||
|
from .basic import valid_string_list
|
||||||
|
|
||||||
from .os import valid_printable_filename
|
from .os import valid_printable_filename
|
||||||
|
|
||||||
@ -51,6 +52,14 @@ def valid_msd_image_name(arg: Any) -> str:
|
|||||||
return valid_printable_filename(arg, name="MSD image name") # pragma: nocover
|
return valid_printable_filename(arg, name="MSD image name") # pragma: nocover
|
||||||
|
|
||||||
|
|
||||||
|
def valid_info_fields(arg: Any, variants: Set[str]) -> Set[str]:
|
||||||
|
return set(valid_string_list(
|
||||||
|
arg=str(arg).strip(),
|
||||||
|
subval=(lambda field: check_string_in_list(field, "info field", variants)),
|
||||||
|
name="info fields list",
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
def valid_log_seek(arg: Any) -> int:
|
def valid_log_seek(arg: Any) -> int:
|
||||||
return int(valid_number(arg, min=0, name="log seek"))
|
return int(valid_number(arg, min=0, name="log seek"))
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user