mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-29 09:01:54 +08:00
refactoring
This commit is contained in:
@@ -85,12 +85,12 @@ def main(argv: Optional[List[str]]=None) -> None:
|
||||
logger = get_logger(0)
|
||||
logger.info("Cleaning up ...")
|
||||
|
||||
for method in [
|
||||
for func in [
|
||||
_kill_streamer,
|
||||
_remove_sockets,
|
||||
]:
|
||||
try:
|
||||
method(config)
|
||||
func(config)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ class IpmiServer(BaseIpmiServer): # pylint: disable=too-many-instance-attribute
|
||||
code = 0xCC # Invalid request
|
||||
session.send_ipmi_response(code=code)
|
||||
|
||||
def __make_request(self, session: IpmiServerSession, name: str, method_path: str, **kwargs): # type: ignore
|
||||
def __make_request(self, session: IpmiServerSession, name: str, func_path: str, **kwargs): # type: ignore
|
||||
async def runner(): # type: ignore
|
||||
logger = get_logger(0)
|
||||
credentials = self.__auth_manager.get_credentials(session.username.decode())
|
||||
@@ -169,8 +169,8 @@ class IpmiServer(BaseIpmiServer): # pylint: disable=too-many-instance-attribute
|
||||
session.sockaddr[0], name, credentials.ipmi_user, credentials.kvmd_user)
|
||||
try:
|
||||
async with self.__kvmd.make_session(credentials.kvmd_user, credentials.kvmd_passwd) as kvmd_session:
|
||||
method = functools.reduce(getattr, method_path.split("."), kvmd_session)
|
||||
return (await method(**kwargs))
|
||||
func = functools.reduce(getattr, func_path.split("."), kvmd_session)
|
||||
return (await func(**kwargs))
|
||||
except (aiohttp.ClientError, asyncio.TimeoutError) as err:
|
||||
logger.error("[%s]: Can't perform request %s: %s", session.sockaddr[0], name, err)
|
||||
raise
|
||||
|
||||
@@ -182,20 +182,20 @@ class _GpioOutput: # pylint: disable=too-many-instance-attributes
|
||||
# =====
|
||||
|
||||
@aiotools.atomic
|
||||
async def __run_action(self, wait: bool, name: str, method: Callable, *args: Any) -> None:
|
||||
async def __run_action(self, wait: bool, name: str, func: Callable, *args: Any) -> None:
|
||||
if wait:
|
||||
async with self.__region:
|
||||
await method(*args)
|
||||
await func(*args)
|
||||
else:
|
||||
await aiotools.run_region_task(
|
||||
f"Can't perform {name} of {self} or operation was not completed",
|
||||
self.__region, self.__action_task_wrapper, name, method, *args,
|
||||
self.__region, self.__action_task_wrapper, name, func, *args,
|
||||
)
|
||||
|
||||
@aiotools.atomic
|
||||
async def __action_task_wrapper(self, name: str, method: Callable, *args: Any) -> None:
|
||||
async def __action_task_wrapper(self, name: str, func: Callable, *args: Any) -> None:
|
||||
try:
|
||||
return (await method(*args))
|
||||
return (await func(*args))
|
||||
except GpioDriverOfflineError:
|
||||
get_logger(0).error("Can't perform %s of %s or operation was not completed: driver offline", name, self)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user