mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-23 15:53:36 +05:00
style: reformat code
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
@@ -13,8 +13,8 @@ import subprocess
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from kiauh.core.instance_manager.base_instance import BaseInstance
|
|
||||||
from kiauh.components.klipper import KLIPPER_DIR, KLIPPER_ENV_DIR, MODULE_PATH
|
from kiauh.components.klipper import KLIPPER_DIR, KLIPPER_ENV_DIR, MODULE_PATH
|
||||||
|
from kiauh.core.instance_manager.base_instance import BaseInstance
|
||||||
from kiauh.utils.constants import SYSTEMD
|
from kiauh.utils.constants import SYSTEMD
|
||||||
from kiauh.utils.logger import Logger
|
from kiauh.utils.logger import Logger
|
||||||
|
|
||||||
|
|||||||
@@ -12,10 +12,10 @@
|
|||||||
import shutil
|
import shutil
|
||||||
from typing import List, Union
|
from typing import List, Union
|
||||||
|
|
||||||
from kiauh.core.instance_manager.instance_manager import InstanceManager
|
|
||||||
from kiauh.components.klipper import KLIPPER_DIR, KLIPPER_ENV_DIR
|
from kiauh.components.klipper import KLIPPER_DIR, KLIPPER_ENV_DIR
|
||||||
from kiauh.components.klipper.klipper import Klipper
|
from kiauh.components.klipper.klipper import Klipper
|
||||||
from kiauh.components.klipper.klipper_dialogs import print_instance_overview
|
from kiauh.components.klipper.klipper_dialogs import print_instance_overview
|
||||||
|
from kiauh.core.instance_manager.instance_manager import InstanceManager
|
||||||
from kiauh.utils.filesystem_utils import remove_file
|
from kiauh.utils.filesystem_utils import remove_file
|
||||||
from kiauh.utils.input_utils import get_selection_input
|
from kiauh.utils.input_utils import get_selection_input
|
||||||
from kiauh.utils.logger import Logger
|
from kiauh.utils.logger import Logger
|
||||||
|
|||||||
@@ -46,12 +46,10 @@ from kiauh.utils.logger import Logger
|
|||||||
from kiauh.utils.system_utils import mask_system_service
|
from kiauh.utils.system_utils import mask_system_service
|
||||||
|
|
||||||
|
|
||||||
def get_klipper_status() -> (
|
def get_klipper_status() -> Dict[
|
||||||
Dict[
|
|
||||||
Literal["status", "status_code", "instances", "repo", "local", "remote"],
|
Literal["status", "status_code", "instances", "repo", "local", "remote"],
|
||||||
Union[str, int],
|
Union[str, int],
|
||||||
]
|
]:
|
||||||
):
|
|
||||||
status = get_install_status_common(Klipper, KLIPPER_DIR, KLIPPER_ENV_DIR)
|
status = get_install_status_common(Klipper, KLIPPER_DIR, KLIPPER_ENV_DIR)
|
||||||
return {
|
return {
|
||||||
"status": status.get("status"),
|
"status": status.get("status"),
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
|
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
|
from kiauh.components.klipper import klipper_remove
|
||||||
from kiauh.core.menus import BACK_HELP_FOOTER
|
from kiauh.core.menus import BACK_HELP_FOOTER
|
||||||
from kiauh.core.menus.base_menu import BaseMenu
|
from kiauh.core.menus.base_menu import BaseMenu
|
||||||
from kiauh.components.klipper import klipper_remove
|
|
||||||
from kiauh.utils.constants import RESET_FORMAT, COLOR_RED, COLOR_CYAN
|
from kiauh.utils.constants import RESET_FORMAT, COLOR_RED, COLOR_CYAN
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,14 +9,13 @@
|
|||||||
# This file may be distributed under the terms of the GNU GPLv3 license #
|
# This file may be distributed under the terms of the GNU GPLv3 license #
|
||||||
# ======================================================================= #
|
# ======================================================================= #
|
||||||
|
|
||||||
from typing import List
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
import urllib.request
|
import urllib.request
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import List
|
||||||
|
|
||||||
from kiauh.core.instance_manager.instance_manager import InstanceManager
|
|
||||||
from kiauh.components.klipper.klipper import Klipper
|
from kiauh.components.klipper.klipper import Klipper
|
||||||
from kiauh.components.log_uploads import LogFile
|
from kiauh.components.log_uploads import LogFile
|
||||||
|
from kiauh.core.instance_manager.instance_manager import InstanceManager
|
||||||
from kiauh.utils.logger import Logger
|
from kiauh.utils.logger import Logger
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,10 +11,10 @@
|
|||||||
|
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
|
from kiauh.components.log_uploads.log_upload_utils import get_logfile_list
|
||||||
|
from kiauh.components.log_uploads.log_upload_utils import upload_logfile
|
||||||
from kiauh.core.menus import BACK_FOOTER
|
from kiauh.core.menus import BACK_FOOTER
|
||||||
from kiauh.core.menus.base_menu import BaseMenu
|
from kiauh.core.menus.base_menu import BaseMenu
|
||||||
from kiauh.components.log_uploads.log_upload_utils import upload_logfile
|
|
||||||
from kiauh.components.log_uploads.log_upload_utils import get_logfile_list
|
|
||||||
from kiauh.utils.constants import RESET_FORMAT, COLOR_YELLOW
|
from kiauh.utils.constants import RESET_FORMAT, COLOR_YELLOW
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -15,12 +15,12 @@ import subprocess
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from kiauh.core.config_manager.config_manager import ConfigManager
|
|
||||||
from kiauh.core.instance_manager.instance_manager import InstanceManager
|
|
||||||
from kiauh.components.klipper.klipper import Klipper
|
from kiauh.components.klipper.klipper import Klipper
|
||||||
from kiauh.components.mainsail import MAINSAIL_DIR, MAINSAIL_CONFIG_DIR
|
from kiauh.components.mainsail import MAINSAIL_DIR, MAINSAIL_CONFIG_DIR
|
||||||
from kiauh.components.mainsail.mainsail_utils import backup_config_json
|
from kiauh.components.mainsail.mainsail_utils import backup_config_json
|
||||||
from kiauh.components.moonraker.moonraker import Moonraker
|
from kiauh.components.moonraker.moonraker import Moonraker
|
||||||
|
from kiauh.core.config_manager.config_manager import ConfigManager
|
||||||
|
from kiauh.core.instance_manager.instance_manager import InstanceManager
|
||||||
from kiauh.utils import NGINX_SITES_AVAILABLE, NGINX_SITES_ENABLED
|
from kiauh.utils import NGINX_SITES_AVAILABLE, NGINX_SITES_ENABLED
|
||||||
from kiauh.utils.filesystem_utils import remove_file
|
from kiauh.utils.filesystem_utils import remove_file
|
||||||
from kiauh.utils.logger import Logger
|
from kiauh.utils.logger import Logger
|
||||||
|
|||||||
@@ -14,9 +14,6 @@ from pathlib import Path
|
|||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from kiauh import KIAUH_CFG
|
from kiauh import KIAUH_CFG
|
||||||
from kiauh.core.config_manager.config_manager import ConfigManager
|
|
||||||
from kiauh.core.instance_manager.instance_manager import InstanceManager
|
|
||||||
from kiauh.core.repo_manager.repo_manager import RepoManager
|
|
||||||
from kiauh.components.klipper.klipper import Klipper
|
from kiauh.components.klipper.klipper import Klipper
|
||||||
from kiauh.components.mainsail import (
|
from kiauh.components.mainsail import (
|
||||||
MAINSAIL_URL,
|
MAINSAIL_URL,
|
||||||
@@ -38,6 +35,9 @@ from kiauh.components.mainsail.mainsail_utils import (
|
|||||||
symlink_webui_nginx_log,
|
symlink_webui_nginx_log,
|
||||||
)
|
)
|
||||||
from kiauh.components.moonraker.moonraker import Moonraker
|
from kiauh.components.moonraker.moonraker import Moonraker
|
||||||
|
from kiauh.core.config_manager.config_manager import ConfigManager
|
||||||
|
from kiauh.core.instance_manager.instance_manager import InstanceManager
|
||||||
|
from kiauh.core.repo_manager.repo_manager import RepoManager
|
||||||
from kiauh.utils import NGINX_SITES_AVAILABLE, NGINX_SITES_ENABLED
|
from kiauh.utils import NGINX_SITES_AVAILABLE, NGINX_SITES_ENABLED
|
||||||
from kiauh.utils.common import check_install_dependencies
|
from kiauh.utils.common import check_install_dependencies
|
||||||
from kiauh.utils.filesystem_utils import (
|
from kiauh.utils.filesystem_utils import (
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
|
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
|
from kiauh.components.mainsail import mainsail_remove
|
||||||
from kiauh.core.menus import BACK_HELP_FOOTER
|
from kiauh.core.menus import BACK_HELP_FOOTER
|
||||||
from kiauh.core.menus.base_menu import BaseMenu
|
from kiauh.core.menus.base_menu import BaseMenu
|
||||||
from kiauh.components.mainsail import mainsail_remove
|
|
||||||
from kiauh.utils.constants import RESET_FORMAT, COLOR_RED, COLOR_CYAN
|
from kiauh.utils.constants import RESET_FORMAT, COLOR_RED, COLOR_CYAN
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
|
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
|
from kiauh.components.moonraker import moonraker_remove
|
||||||
from kiauh.core.menus import BACK_HELP_FOOTER
|
from kiauh.core.menus import BACK_HELP_FOOTER
|
||||||
from kiauh.core.menus.base_menu import BaseMenu
|
from kiauh.core.menus.base_menu import BaseMenu
|
||||||
from kiauh.components.moonraker import moonraker_remove
|
|
||||||
from kiauh.utils.constants import RESET_FORMAT, COLOR_RED, COLOR_CYAN
|
from kiauh.utils.constants import RESET_FORMAT, COLOR_RED, COLOR_CYAN
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -12,9 +12,9 @@
|
|||||||
import textwrap
|
import textwrap
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from kiauh.core.menus.base_menu import print_back_footer
|
|
||||||
from kiauh.components.klipper.klipper import Klipper
|
from kiauh.components.klipper.klipper import Klipper
|
||||||
from kiauh.components.moonraker.moonraker import Moonraker
|
from kiauh.components.moonraker.moonraker import Moonraker
|
||||||
|
from kiauh.core.menus.base_menu import print_back_footer
|
||||||
from kiauh.utils.constants import COLOR_GREEN, RESET_FORMAT, COLOR_YELLOW, COLOR_CYAN
|
from kiauh.utils.constants import COLOR_GREEN, RESET_FORMAT, COLOR_YELLOW, COLOR_CYAN
|
||||||
|
|
||||||
|
|
||||||
@@ -39,11 +39,11 @@ def print_moonraker_overview(
|
|||||||
dialog += "| |\n"
|
dialog += "| |\n"
|
||||||
|
|
||||||
instance_map = {
|
instance_map = {
|
||||||
k.get_service_file_name(): k.get_service_file_name().replace(
|
k.get_service_file_name(): (
|
||||||
"klipper", "moonraker"
|
k.get_service_file_name().replace("klipper", "moonraker")
|
||||||
)
|
|
||||||
if k.suffix in [m.suffix for m in moonraker_instances]
|
if k.suffix in [m.suffix for m in moonraker_instances]
|
||||||
else ""
|
else ""
|
||||||
|
)
|
||||||
for k in klipper_instances
|
for k in klipper_instances
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ import shutil
|
|||||||
import subprocess
|
import subprocess
|
||||||
from typing import List, Union
|
from typing import List, Union
|
||||||
|
|
||||||
from kiauh.core.instance_manager.instance_manager import InstanceManager
|
|
||||||
from kiauh.components.klipper.klipper_dialogs import print_instance_overview
|
from kiauh.components.klipper.klipper_dialogs import print_instance_overview
|
||||||
from kiauh.components.moonraker import MOONRAKER_DIR, MOONRAKER_ENV_DIR
|
from kiauh.components.moonraker import MOONRAKER_DIR, MOONRAKER_ENV_DIR
|
||||||
from kiauh.components.moonraker.moonraker import Moonraker
|
from kiauh.components.moonraker.moonraker import Moonraker
|
||||||
|
from kiauh.core.instance_manager.instance_manager import InstanceManager
|
||||||
from kiauh.utils.filesystem_utils import remove_file
|
from kiauh.utils.filesystem_utils import remove_file
|
||||||
from kiauh.utils.input_utils import get_selection_input
|
from kiauh.utils.input_utils import get_selection_input
|
||||||
from kiauh.utils.logger import Logger
|
from kiauh.utils.logger import Logger
|
||||||
|
|||||||
@@ -34,12 +34,10 @@ from kiauh.utils.system_utils import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_moonraker_status() -> (
|
def get_moonraker_status() -> Dict[
|
||||||
Dict[
|
|
||||||
Literal["status", "status_code", "instances", "repo", "local", "remote"],
|
Literal["status", "status_code", "instances", "repo", "local", "remote"],
|
||||||
Union[str, int],
|
Union[str, int],
|
||||||
]
|
]:
|
||||||
):
|
|
||||||
status = get_install_status_common(Moonraker, MOONRAKER_DIR, MOONRAKER_ENV_DIR)
|
status = get_install_status_common(Moonraker, MOONRAKER_DIR, MOONRAKER_ENV_DIR)
|
||||||
return {
|
return {
|
||||||
"status": status.get("status"),
|
"status": status.get("status"),
|
||||||
|
|||||||
@@ -41,9 +41,7 @@ class BackupManager:
|
|||||||
def ignore_folders(self, value: List[str]):
|
def ignore_folders(self, value: List[str]):
|
||||||
self._ignore_folders = value
|
self._ignore_folders = value
|
||||||
|
|
||||||
def backup_file(
|
def backup_file(self, file: Path = None, target: Path = None, custom_filename=None):
|
||||||
self, file: Path = None, target: Path = None, custom_filename=None
|
|
||||||
):
|
|
||||||
if not file:
|
if not file:
|
||||||
raise ValueError("Parameter 'file' cannot be None!")
|
raise ValueError("Parameter 'file' cannot be None!")
|
||||||
|
|
||||||
@@ -84,7 +82,6 @@ class BackupManager:
|
|||||||
Logger.print_error(f"Unable to backup directory '{source}':\n{e}")
|
Logger.print_error(f"Unable to backup directory '{source}':\n{e}")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
def ignore_folders_func(self, dirpath, filenames):
|
def ignore_folders_func(self, dirpath, filenames):
|
||||||
return (
|
return (
|
||||||
[f for f in filenames if f in self._ignore_folders]
|
[f for f in filenames if f in self._ignore_folders]
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ from kiauh.core.instance_manager.base_instance import BaseInstance
|
|||||||
from kiauh.utils.constants import SYSTEMD
|
from kiauh.utils.constants import SYSTEMD
|
||||||
from kiauh.utils.logger import Logger
|
from kiauh.utils.logger import Logger
|
||||||
|
|
||||||
|
|
||||||
I = TypeVar(name="I", bound=BaseInstance, covariant=True)
|
I = TypeVar(name="I", bound=BaseInstance, covariant=True)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ class BackupMenu(BaseMenu):
|
|||||||
"2": self.backup_moonraker,
|
"2": self.backup_moonraker,
|
||||||
"3": self.backup_printer_config,
|
"3": self.backup_printer_config,
|
||||||
"4": self.backup_moonraker_db,
|
"4": self.backup_moonraker_db,
|
||||||
"5": self.backup_mainsail
|
"5": self.backup_mainsail,
|
||||||
},
|
},
|
||||||
footer_type=BACK_FOOTER,
|
footer_type=BACK_FOOTER,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import subprocess
|
|||||||
import sys
|
import sys
|
||||||
import textwrap
|
import textwrap
|
||||||
from abc import abstractmethod, ABC
|
from abc import abstractmethod, ABC
|
||||||
from typing import Dict, Any, Literal, Union, Callable, Type
|
from typing import Dict, Any, Literal, Union, Callable
|
||||||
|
|
||||||
from kiauh.core.menus import QUIT_FOOTER, BACK_FOOTER, BACK_HELP_FOOTER
|
from kiauh.core.menus import QUIT_FOOTER, BACK_FOOTER, BACK_HELP_FOOTER
|
||||||
from kiauh.utils.constants import (
|
from kiauh.utils.constants import (
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
# This file may be distributed under the terms of the GNU GPLv3 license #
|
# This file may be distributed under the terms of the GNU GPLv3 license #
|
||||||
# ======================================================================= #
|
# ======================================================================= #
|
||||||
|
|
||||||
import json
|
|
||||||
import textwrap
|
|
||||||
import importlib
|
import importlib
|
||||||
import inspect
|
import inspect
|
||||||
|
import json
|
||||||
|
import textwrap
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List, Dict
|
from typing import List, Dict
|
||||||
|
|
||||||
|
|||||||
@@ -11,11 +11,11 @@
|
|||||||
|
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
from kiauh.core.menus import BACK_FOOTER
|
|
||||||
from kiauh.core.menus.base_menu import BaseMenu
|
|
||||||
from kiauh.components.klipper import klipper_setup
|
from kiauh.components.klipper import klipper_setup
|
||||||
from kiauh.components.mainsail import mainsail_setup
|
from kiauh.components.mainsail import mainsail_setup
|
||||||
from kiauh.components.moonraker import moonraker_setup
|
from kiauh.components.moonraker import moonraker_setup
|
||||||
|
from kiauh.core.menus import BACK_FOOTER
|
||||||
|
from kiauh.core.menus.base_menu import BaseMenu
|
||||||
from kiauh.utils.constants import COLOR_GREEN, RESET_FORMAT
|
from kiauh.utils.constants import COLOR_GREEN, RESET_FORMAT
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,11 +11,11 @@
|
|||||||
|
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
from kiauh.core.menus import BACK_FOOTER
|
|
||||||
from kiauh.core.menus.base_menu import BaseMenu
|
|
||||||
from kiauh.components.klipper.menus.klipper_remove_menu import KlipperRemoveMenu
|
from kiauh.components.klipper.menus.klipper_remove_menu import KlipperRemoveMenu
|
||||||
from kiauh.components.mainsail.menus.mainsail_remove_menu import MainsailRemoveMenu
|
from kiauh.components.mainsail.menus.mainsail_remove_menu import MainsailRemoveMenu
|
||||||
from kiauh.components.moonraker.menus.moonraker_remove_menu import MoonrakerRemoveMenu
|
from kiauh.components.moonraker.menus.moonraker_remove_menu import MoonrakerRemoveMenu
|
||||||
|
from kiauh.core.menus import BACK_FOOTER
|
||||||
|
from kiauh.core.menus.base_menu import BaseMenu
|
||||||
from kiauh.utils.constants import COLOR_RED, RESET_FORMAT
|
from kiauh.utils.constants import COLOR_RED, RESET_FORMAT
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,8 +11,6 @@
|
|||||||
|
|
||||||
import textwrap
|
import textwrap
|
||||||
|
|
||||||
from kiauh.core.menus import BACK_FOOTER
|
|
||||||
from kiauh.core.menus.base_menu import BaseMenu
|
|
||||||
from kiauh.components.klipper.klipper_setup import update_klipper
|
from kiauh.components.klipper.klipper_setup import update_klipper
|
||||||
from kiauh.components.klipper.klipper_utils import (
|
from kiauh.components.klipper.klipper_utils import (
|
||||||
get_klipper_status,
|
get_klipper_status,
|
||||||
@@ -24,6 +22,8 @@ from kiauh.components.mainsail.mainsail_utils import (
|
|||||||
)
|
)
|
||||||
from kiauh.components.moonraker.moonraker_setup import update_moonraker
|
from kiauh.components.moonraker.moonraker_setup import update_moonraker
|
||||||
from kiauh.components.moonraker.moonraker_utils import get_moonraker_status
|
from kiauh.components.moonraker.moonraker_utils import get_moonraker_status
|
||||||
|
from kiauh.core.menus import BACK_FOOTER
|
||||||
|
from kiauh.core.menus.base_menu import BaseMenu
|
||||||
from kiauh.utils.constants import COLOR_GREEN, RESET_FORMAT, COLOR_YELLOW, COLOR_WHITE
|
from kiauh.utils.constants import COLOR_GREEN, RESET_FORMAT, COLOR_YELLOW, COLOR_WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
EXT_MODULE_NAME = "gcode_shell_command.py"
|
EXT_MODULE_NAME = "gcode_shell_command.py"
|
||||||
MODULE_PATH = Path(__file__).resolve().parent
|
MODULE_PATH = Path(__file__).resolve().parent
|
||||||
MODULE_ASSETS = MODULE_PATH.joinpath("assets")
|
MODULE_ASSETS = MODULE_PATH.joinpath("assets")
|
||||||
|
|||||||
@@ -3,27 +3,31 @@
|
|||||||
# Copyright (C) 2019 Eric Callahan <arksine.code@gmail.com>
|
# Copyright (C) 2019 Eric Callahan <arksine.code@gmail.com>
|
||||||
#
|
#
|
||||||
# This file may be distributed under the terms of the GNU GPLv3 license.
|
# This file may be distributed under the terms of the GNU GPLv3 license.
|
||||||
|
import logging
|
||||||
import os
|
import os
|
||||||
import shlex
|
import shlex
|
||||||
import subprocess
|
import subprocess
|
||||||
import logging
|
|
||||||
|
|
||||||
class ShellCommand:
|
class ShellCommand:
|
||||||
def __init__(self, config):
|
def __init__(self, config):
|
||||||
self.name = config.get_name().split()[-1]
|
self.name = config.get_name().split()[-1]
|
||||||
self.printer = config.get_printer()
|
self.printer = config.get_printer()
|
||||||
self.gcode = self.printer.lookup_object('gcode')
|
self.gcode = self.printer.lookup_object("gcode")
|
||||||
cmd = config.get('command')
|
cmd = config.get("command")
|
||||||
cmd = os.path.expanduser(cmd)
|
cmd = os.path.expanduser(cmd)
|
||||||
self.command = shlex.split(cmd)
|
self.command = shlex.split(cmd)
|
||||||
self.timeout = config.getfloat('timeout', 2., above=0.)
|
self.timeout = config.getfloat("timeout", 2.0, above=0.0)
|
||||||
self.verbose = config.getboolean('verbose', True)
|
self.verbose = config.getboolean("verbose", True)
|
||||||
self.proc_fd = None
|
self.proc_fd = None
|
||||||
self.partial_output = ""
|
self.partial_output = ""
|
||||||
self.gcode.register_mux_command(
|
self.gcode.register_mux_command(
|
||||||
"RUN_SHELL_COMMAND", "CMD", self.name,
|
"RUN_SHELL_COMMAND",
|
||||||
|
"CMD",
|
||||||
|
self.name,
|
||||||
self.cmd_RUN_SHELL_COMMAND,
|
self.cmd_RUN_SHELL_COMMAND,
|
||||||
desc=self.cmd_RUN_SHELL_COMMAND_help)
|
desc=self.cmd_RUN_SHELL_COMMAND_help,
|
||||||
|
)
|
||||||
|
|
||||||
def _process_output(self, eventime):
|
def _process_output(self, eventime):
|
||||||
if self.proc_fd is None:
|
if self.proc_fd is None:
|
||||||
@@ -33,11 +37,11 @@ class ShellCommand:
|
|||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
data = self.partial_output + data.decode()
|
data = self.partial_output + data.decode()
|
||||||
if '\n' not in data:
|
if "\n" not in data:
|
||||||
self.partial_output = data
|
self.partial_output = data
|
||||||
return
|
return
|
||||||
elif data[-1] != '\n':
|
elif data[-1] != "\n":
|
||||||
split = data.rfind('\n') + 1
|
split = data.rfind("\n") + 1
|
||||||
self.partial_output = data[split:]
|
self.partial_output = data[split:]
|
||||||
data = data[:split]
|
data = data[:split]
|
||||||
else:
|
else:
|
||||||
@@ -45,16 +49,19 @@ class ShellCommand:
|
|||||||
self.gcode.respond_info(data)
|
self.gcode.respond_info(data)
|
||||||
|
|
||||||
cmd_RUN_SHELL_COMMAND_help = "Run a linux shell command"
|
cmd_RUN_SHELL_COMMAND_help = "Run a linux shell command"
|
||||||
|
|
||||||
def cmd_RUN_SHELL_COMMAND(self, params):
|
def cmd_RUN_SHELL_COMMAND(self, params):
|
||||||
gcode_params = params.get('PARAMS','')
|
gcode_params = params.get("PARAMS", "")
|
||||||
gcode_params = shlex.split(gcode_params)
|
gcode_params = shlex.split(gcode_params)
|
||||||
reactor = self.printer.get_reactor()
|
reactor = self.printer.get_reactor()
|
||||||
try:
|
try:
|
||||||
proc = subprocess.Popen(
|
proc = subprocess.Popen(
|
||||||
self.command + gcode_params, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
self.command + gcode_params,
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.STDOUT,
|
||||||
|
)
|
||||||
except Exception:
|
except Exception:
|
||||||
logging.exception(
|
logging.exception("shell_command: Command {%s} failed" % (self.name))
|
||||||
"shell_command: Command {%s} failed" % (self.name))
|
|
||||||
raise self.gcode.error("Error running command {%s}" % (self.name))
|
raise self.gcode.error("Error running command {%s}" % (self.name))
|
||||||
if self.verbose:
|
if self.verbose:
|
||||||
self.proc_fd = proc.stdout.fileno()
|
self.proc_fd = proc.stdout.fileno()
|
||||||
@@ -64,7 +71,7 @@ class ShellCommand:
|
|||||||
endtime = eventtime + self.timeout
|
endtime = eventtime + self.timeout
|
||||||
complete = False
|
complete = False
|
||||||
while eventtime < endtime:
|
while eventtime < endtime:
|
||||||
eventtime = reactor.pause(eventtime + .05)
|
eventtime = reactor.pause(eventtime + 0.05)
|
||||||
if proc.poll() is not None:
|
if proc.poll() is not None:
|
||||||
complete = True
|
complete = True
|
||||||
break
|
break
|
||||||
|
|||||||
Reference in New Issue
Block a user