feat(BackupManager): implement simple backup manager

Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
dw-0
2023-11-14 21:28:13 +01:00
parent 1392ca9f82
commit a4a3d5eecb
7 changed files with 133 additions and 10 deletions

View File

@@ -14,6 +14,7 @@ import subprocess
from pathlib import Path
from typing import List, Union
from kiauh.core.backup_manager.backup_manager import BackupManager
from kiauh.core.config_manager.config_manager import ConfigManager
from kiauh.core.instance_manager.instance_manager import InstanceManager
from kiauh.modules.klipper import (
@@ -251,16 +252,22 @@ def remove_multi_instance(
def update_klipper() -> None:
print_update_warn_dialog()
if not get_confirm("Update Klipper now?"):
return
instance_manager = InstanceManager(Klipper)
instance_manager.stop_all_instance()
cm = ConfigManager()
cm.read_config()
if cm.get_value("kiauh", "backup_before_update"):
backup_manager = BackupManager(source=KLIPPER_DIR, backup_name="klipper")
backup_manager.backup()
backup_manager.backup_name = "klippy-env"
backup_manager.source = KLIPPER_ENV_DIR
backup_manager.backup()
instance_manager = InstanceManager(Klipper)
instance_manager.stop_all_instance()
repo = str(cm.get_value("klipper", "repository_url") or DEFAULT_KLIPPER_REPO_URL)
branch = str(cm.get_value("klipper", "branch") or "master")