summaryrefslogtreecommitdiff
path: root/kvmd/plugins
diff options
context:
space:
mode:
authorMaxim Devaev <[email protected]>2022-04-10 08:08:05 +0300
committerMaxim Devaev <[email protected]>2022-04-10 08:08:05 +0300
commit7c44d733a91cfe09badebf6d2e8ea96a551fbada (patch)
tree2ec3118c41aeab949ee8a56e3b5916d87ff790d0 /kvmd/plugins
parentc92d17dea21fbcf461716331ea7fd3500476edb9 (diff)
aiohelpers
Diffstat (limited to 'kvmd/plugins')
-rw-r--r--kvmd/plugins/msd/otg/__init__.py5
-rw-r--r--kvmd/plugins/msd/otg/helpers.py54
2 files changed, 3 insertions, 56 deletions
diff --git a/kvmd/plugins/msd/otg/__init__.py b/kvmd/plugins/msd/otg/__init__.py
index dcf70557..0b81391d 100644
--- a/kvmd/plugins/msd/otg/__init__.py
+++ b/kvmd/plugins/msd/otg/__init__.py
@@ -46,6 +46,7 @@ from ....validators.os import valid_printable_filename
from ....validators.os import valid_command
from .... import aiotools
+from .... import aiohelpers
from .. import MsdError
from .. import MsdIsBusyError
@@ -59,7 +60,6 @@ from .. import BaseMsd
from .. import MsdImageWriter
from . import fs
-from . import helpers
from .drive import Drive
@@ -538,4 +538,5 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
# =====
async def __remount_storage(self, rw: bool) -> None:
- await helpers.remount_storage(self.__remount_cmd, rw)
+ if not (await aiohelpers.remount("MSD", self.__remount_cmd, rw)):
+ raise MsdError("Can't execute remount helper")
diff --git a/kvmd/plugins/msd/otg/helpers.py b/kvmd/plugins/msd/otg/helpers.py
deleted file mode 100644
index 2d64bd0c..00000000
--- a/kvmd/plugins/msd/otg/helpers.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# ========================================================================== #
-# #
-# KVMD - The main PiKVM daemon. #
-# #
-# Copyright (C) 2018-2022 Maxim Devaev <[email protected]> #
-# #
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the GNU General Public License as published by #
-# the Free Software Foundation, either version 3 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with this program. If not, see <https://www.gnu.org/licenses/>. #
-# #
-# ========================================================================== #
-
-
-from typing import List
-
-from ....logging import get_logger
-
-from .... import aioproc
-
-from .. import MsdError
-
-
-# =====
-async def remount_storage(base_cmd: List[str], rw: bool) -> None:
- logger = get_logger(0)
- mode = ("rw" if rw else "ro")
- cmd = [
- part.format(mode=mode)
- for part in base_cmd
- ]
- logger.info("Remounting internal storage to %s ...", mode.upper())
- try:
- await _run_helper(cmd)
- except Exception:
- logger.error("Can't remount internal storage")
- raise
-
-
-# =====
-async def _run_helper(cmd: List[str]) -> None:
- logger = get_logger(0)
- logger.info("Executing helper %s ...", cmd)
- proc = await aioproc.log_process(cmd, logger)
- if proc.returncode != 0:
- raise MsdError(f"Error while helper execution: pid={proc.pid}; retcode={proc.returncode}")