feat(Moonraker): enable Mainsail remote mode after multi instance setup

Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
dw-0
2023-12-27 15:42:46 +01:00
parent 625a808484
commit 8f44187568
3 changed files with 16 additions and 0 deletions

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

@@ -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()