Compare commits

...

3 Commits

Author SHA1 Message Date
dw-0
83e5d9c0d5 refactor(Klipper/Moonraker): remove obsolete method calls
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
2023-12-27 15:58:37 +01:00
dw-0
8f44187568 feat(Moonraker): enable Mainsail remote mode after multi instance setup
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
2023-12-27 15:42:46 +01:00
dw-0
625a808484 fix(InstanceManager): return an updated list when getting the instances property
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
2023-12-27 14:09:51 +01:00
6 changed files with 18 additions and 7 deletions

View File

@@ -82,10 +82,7 @@ class InstanceManager:
@property @property
def instances(self) -> List[I]: def instances(self) -> List[I]:
if not self._instances: return self.find_instances()
self._instances = self.find_instances()
return sorted(self._instances, key=lambda x: self._sort_instance_list(x.suffix))
@instances.setter @instances.setter
def instances(self, value: List[I]): def instances(self, value: List[I]):
@@ -205,7 +202,7 @@ class InstanceManager:
for service in service_list for service in service_list
] ]
return instance_list return sorted(instance_list, key=lambda x: self._sort_instance_list(x.suffix))
def _get_instance_suffix(self, file_path: Path) -> str: def _get_instance_suffix(self, file_path: Path) -> str:
return file_path.stem.split("-")[-1] if "-" in file_path.stem else "" return file_path.stem.split("-")[-1] if "-" in file_path.stem else ""

View File

@@ -37,7 +37,6 @@ def run_klipper_removal(
else: else:
Logger.print_info("No Klipper Services installed! Skipped ...") Logger.print_info("No Klipper Services installed! Skipped ...")
im.find_instances()
if (remove_dir or remove_env) and im.instances: if (remove_dir or remove_env) and im.instances:
Logger.print_warn("There are still other Klipper services installed!") Logger.print_warn("There are still other Klipper services installed!")
Logger.print_warn("Therefor the following parts cannot be removed:") Logger.print_warn("Therefor the following parts cannot be removed:")

View File

@@ -51,10 +51,12 @@ def restore_config_json() -> None:
def enable_mainsail_remotemode() -> None: def enable_mainsail_remotemode() -> None:
Logger.print_status("Enable Mainsails remote mode ...")
with open(MAINSAIL_CONFIG_JSON, "r") as f: with open(MAINSAIL_CONFIG_JSON, "r") as f:
config_data = json.load(f) config_data = json.load(f)
if config_data["instancesDB"] == "browser": if config_data["instancesDB"] == "browser":
Logger.print_info("Remote mode already configured. Skipped ...")
return return
Logger.print_status("Setting instance storage location to 'browser' ...") Logger.print_status("Setting instance storage location to 'browser' ...")
@@ -62,6 +64,7 @@ def enable_mainsail_remotemode() -> None:
with open(MAINSAIL_CONFIG_JSON, "w") as f: with open(MAINSAIL_CONFIG_JSON, "w") as f:
json.dump(config_data, f, indent=4) json.dump(config_data, f, indent=4)
Logger.print_ok("Mainsails remote mode enabled!")
def symlink_webui_nginx_log(klipper_instances: List[Klipper]) -> None: def symlink_webui_nginx_log(klipper_instances: List[Klipper]) -> None:

View File

@@ -39,7 +39,6 @@ def run_moonraker_removal(
else: else:
Logger.print_info("No Moonraker Services installed! Skipped ...") Logger.print_info("No Moonraker Services installed! Skipped ...")
im.find_instances()
if (remove_polkit or remove_dir or remove_env) and im.instances: if (remove_polkit or remove_dir or remove_env) and im.instances:
Logger.print_warn("There are still other Moonraker services installed!") Logger.print_warn("There are still other Moonraker services installed!")
Logger.print_warn("Therefor the following parts cannot be removed:") Logger.print_warn("Therefor the following parts cannot be removed:")

View File

@@ -24,6 +24,8 @@ from kiauh.modules.klipper.klipper_dialogs import (
print_update_warn_dialog, print_update_warn_dialog,
) )
from kiauh.core.repo_manager.repo_manager import RepoManager from kiauh.core.repo_manager.repo_manager import RepoManager
from kiauh.modules.mainsail import MAINSAIL_DIR
from kiauh.modules.mainsail.mainsail_utils import enable_mainsail_remotemode
from kiauh.modules.moonraker import ( from kiauh.modules.moonraker import (
EXIT_MOONRAKER_SETUP, EXIT_MOONRAKER_SETUP,
DEFAULT_MOONRAKER_REPO_URL, DEFAULT_MOONRAKER_REPO_URL,
@@ -130,6 +132,11 @@ def install_moonraker() -> None:
mr_im.reload_daemon() mr_im.reload_daemon()
# if mainsail is installed, and we installed
# multiple moonraker instances, we enable mainsails remote mode
if MAINSAIL_DIR.exists() and len(mr_im.instances) > 1:
enable_mainsail_remotemode()
def setup_moonraker_prerequesites() -> None: def setup_moonraker_prerequesites() -> None:
cm = ConfigManager(cfg_file=KIAUH_CFG) cm = ConfigManager(cfg_file=KIAUH_CFG)

View File

@@ -14,6 +14,8 @@ from typing import Dict, Literal, List
from kiauh.core.config_manager.config_manager import ConfigManager from kiauh.core.config_manager.config_manager import ConfigManager
from kiauh.core.instance_manager.instance_manager import InstanceManager from kiauh.core.instance_manager.instance_manager import InstanceManager
from kiauh.modules.mainsail import MAINSAIL_DIR
from kiauh.modules.mainsail.mainsail_utils import enable_mainsail_remotemode
from kiauh.modules.moonraker import ( from kiauh.modules.moonraker import (
DEFAULT_MOONRAKER_PORT, DEFAULT_MOONRAKER_PORT,
MODULE_PATH, MODULE_PATH,
@@ -117,3 +119,7 @@ def moonraker_to_multi_conversion(new_name: str) -> None:
im.create_instance() im.create_instance()
im.enable_instance() im.enable_instance()
im.start_instance() im.start_instance()
# if mainsail is installed, we enable mainsails remote mode
if MAINSAIL_DIR.exists() and len(im.instances) > 1:
enable_mainsail_remotemode()