mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 01:00:29 +08:00
refactoring
This commit is contained in:
parent
5bfde6ceae
commit
cf5bc84872
@ -23,6 +23,7 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
import asyncio.subprocess
|
import asyncio.subprocess
|
||||||
import signal
|
import signal
|
||||||
|
import logging
|
||||||
|
|
||||||
from typing import Tuple
|
from typing import Tuple
|
||||||
from typing import List
|
from typing import List
|
||||||
@ -46,6 +47,15 @@ async def read_process(cmd: List[str], err_to_null: bool=False) -> Tuple[asyncio
|
|||||||
return (proc, stdout.decode(errors="ignore").strip())
|
return (proc, stdout.decode(errors="ignore").strip())
|
||||||
|
|
||||||
|
|
||||||
|
async def log_process(cmd: List[str], logger: logging.Logger) -> asyncio.subprocess.Process: # pylint: disable=no-member
|
||||||
|
(proc, stdout) = await read_process(cmd)
|
||||||
|
if stdout:
|
||||||
|
log = (logger.info if proc.returncode == 0 else logger.error)
|
||||||
|
for line in stdout.split("\n"):
|
||||||
|
log("Console: %s", line)
|
||||||
|
return proc
|
||||||
|
|
||||||
|
|
||||||
def ignore_sigint() -> None:
|
def ignore_sigint() -> None:
|
||||||
signal.signal(signal.SIGINT, signal.SIG_IGN)
|
signal.signal(signal.SIGINT, signal.SIG_IGN)
|
||||||
|
|
||||||
|
|||||||
@ -59,13 +59,6 @@ async def unlock_drive(base_cmd: List[str]) -> None:
|
|||||||
async def _run_helper(cmd: List[str]) -> None:
|
async def _run_helper(cmd: List[str]) -> None:
|
||||||
logger = get_logger(0)
|
logger = get_logger(0)
|
||||||
logger.info("Executing helper %s ...", cmd)
|
logger.info("Executing helper %s ...", cmd)
|
||||||
|
proc = await aioproc.log_process(cmd, logger)
|
||||||
(proc, stdout) = await aioproc.read_process(cmd)
|
|
||||||
|
|
||||||
if stdout:
|
|
||||||
log = (logger.info if proc.returncode == 0 else logger.error)
|
|
||||||
for line in stdout.split("\n"):
|
|
||||||
log("Console: %s", line)
|
|
||||||
|
|
||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
raise MsdError(f"Error while helper execution: pid={proc.pid}; retcode={proc.returncode}")
|
raise MsdError(f"Error while helper execution: pid={proc.pid}; retcode={proc.returncode}")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user