diff --git a/kiauh.py b/kiauh.py index ff930a4..6f99540 100644 --- a/kiauh.py +++ b/kiauh.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/__init__.py b/kiauh/__init__.py index 5c08988..bbf131c 100644 --- a/kiauh/__init__.py +++ b/kiauh/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/crowsnest/__init__.py b/kiauh/components/crowsnest/__init__.py index aa95234..01a0230 100644 --- a/kiauh/components/crowsnest/__init__.py +++ b/kiauh/components/crowsnest/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/crowsnest/crowsnest.py b/kiauh/components/crowsnest/crowsnest.py index 36d9793..bf8ae2e 100644 --- a/kiauh/components/crowsnest/crowsnest.py +++ b/kiauh/components/crowsnest/crowsnest.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper/__init__.py b/kiauh/components/klipper/__init__.py index fd63b5c..22efb95 100644 --- a/kiauh/components/klipper/__init__.py +++ b/kiauh/components/klipper/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper/klipper.py b/kiauh/components/klipper/klipper.py index 5c5d96b..8615186 100644 --- a/kiauh/components/klipper/klipper.py +++ b/kiauh/components/klipper/klipper.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper/klipper_dialogs.py b/kiauh/components/klipper/klipper_dialogs.py index c54abdb..87ccefa 100644 --- a/kiauh/components/klipper/klipper_dialogs.py +++ b/kiauh/components/klipper/klipper_dialogs.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper/klipper_remove.py b/kiauh/components/klipper/klipper_remove.py index 05b2957..3f9cc41 100644 --- a/kiauh/components/klipper/klipper_remove.py +++ b/kiauh/components/klipper/klipper_remove.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper/klipper_setup.py b/kiauh/components/klipper/klipper_setup.py index 2dde455..06550d2 100644 --- a/kiauh/components/klipper/klipper_setup.py +++ b/kiauh/components/klipper/klipper_setup.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper/klipper_utils.py b/kiauh/components/klipper/klipper_utils.py index a85e531..32a3941 100644 --- a/kiauh/components/klipper/klipper_utils.py +++ b/kiauh/components/klipper/klipper_utils.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper/menus/klipper_remove_menu.py b/kiauh/components/klipper/menus/klipper_remove_menu.py index 7f3760f..329ce62 100644 --- a/kiauh/components/klipper/menus/klipper_remove_menu.py +++ b/kiauh/components/klipper/menus/klipper_remove_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper_firmware/__init__.py b/kiauh/components/klipper_firmware/__init__.py index f27ce38..3a39f20 100644 --- a/kiauh/components/klipper_firmware/__init__.py +++ b/kiauh/components/klipper_firmware/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper_firmware/firmware_utils.py b/kiauh/components/klipper_firmware/firmware_utils.py index fa3c6e8..ad35247 100644 --- a/kiauh/components/klipper_firmware/firmware_utils.py +++ b/kiauh/components/klipper_firmware/firmware_utils.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper_firmware/flash_options.py b/kiauh/components/klipper_firmware/flash_options.py index 22e3fd9..d547681 100644 --- a/kiauh/components/klipper_firmware/flash_options.py +++ b/kiauh/components/klipper_firmware/flash_options.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper_firmware/menus/klipper_build_menu.py b/kiauh/components/klipper_firmware/menus/klipper_build_menu.py index c6a0f6b..d0acf26 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_build_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_build_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py b/kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py index 913e34e..42f513c 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper_firmware/menus/klipper_flash_help_menu.py b/kiauh/components/klipper_firmware/menus/klipper_flash_help_menu.py index ef6503a..165117e 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_flash_help_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_flash_help_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py b/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py index 00d0765..6029214 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipperscreen/__init__.py b/kiauh/components/klipperscreen/__init__.py index c86386d..c8333bb 100644 --- a/kiauh/components/klipperscreen/__init__.py +++ b/kiauh/components/klipperscreen/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/klipperscreen/klipperscreen.py b/kiauh/components/klipperscreen/klipperscreen.py index 4834f07..0ba3883 100644 --- a/kiauh/components/klipperscreen/klipperscreen.py +++ b/kiauh/components/klipperscreen/klipperscreen.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/log_uploads/__init__.py b/kiauh/components/log_uploads/__init__.py index 0303dee..2d4b133 100644 --- a/kiauh/components/log_uploads/__init__.py +++ b/kiauh/components/log_uploads/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/log_uploads/log_upload_utils.py b/kiauh/components/log_uploads/log_upload_utils.py index 97fdb7a..3047a11 100644 --- a/kiauh/components/log_uploads/log_upload_utils.py +++ b/kiauh/components/log_uploads/log_upload_utils.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/log_uploads/menus/log_upload_menu.py b/kiauh/components/log_uploads/menus/log_upload_menu.py index 5ef885a..6c131fb 100644 --- a/kiauh/components/log_uploads/menus/log_upload_menu.py +++ b/kiauh/components/log_uploads/menus/log_upload_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/moonraker/__init__.py b/kiauh/components/moonraker/__init__.py index b48a894..79bdf99 100644 --- a/kiauh/components/moonraker/__init__.py +++ b/kiauh/components/moonraker/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/moonraker/assets/moonraker.conf b/kiauh/components/moonraker/assets/moonraker.conf index d985233..8e592f2 100644 --- a/kiauh/components/moonraker/assets/moonraker.conf +++ b/kiauh/components/moonraker/assets/moonraker.conf @@ -10,6 +10,7 @@ trusted_clients: 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 + FC00::/7 FE80::/10 ::1/128 cors_domains: diff --git a/kiauh/components/moonraker/menus/moonraker_remove_menu.py b/kiauh/components/moonraker/menus/moonraker_remove_menu.py index 39db4b5..706b21c 100644 --- a/kiauh/components/moonraker/menus/moonraker_remove_menu.py +++ b/kiauh/components/moonraker/menus/moonraker_remove_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/moonraker/moonraker.py b/kiauh/components/moonraker/moonraker.py index a77e042..81040c3 100644 --- a/kiauh/components/moonraker/moonraker.py +++ b/kiauh/components/moonraker/moonraker.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/moonraker/moonraker_dialogs.py b/kiauh/components/moonraker/moonraker_dialogs.py index a445149..e8e1666 100644 --- a/kiauh/components/moonraker/moonraker_dialogs.py +++ b/kiauh/components/moonraker/moonraker_dialogs.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/moonraker/moonraker_remove.py b/kiauh/components/moonraker/moonraker_remove.py index 214bdff..8ed6dd1 100644 --- a/kiauh/components/moonraker/moonraker_remove.py +++ b/kiauh/components/moonraker/moonraker_remove.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/moonraker/moonraker_setup.py b/kiauh/components/moonraker/moonraker_setup.py index 4feda29..a5545e7 100644 --- a/kiauh/components/moonraker/moonraker_setup.py +++ b/kiauh/components/moonraker/moonraker_setup.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # @@ -27,10 +27,11 @@ from components.moonraker import ( ) from components.moonraker.moonraker import Moonraker from components.moonraker.moonraker_dialogs import print_moonraker_overview -from components.moonraker.moonraker_utils import ( +from components.moonraker.utils.sysdeps_parser import SysDepsParser +from components.moonraker.utils.utils import ( backup_moonraker_dir, create_example_moonraker_conf, - parse_sysdeps_file, + load_sysdeps_json, ) from components.webui_client.client_utils import ( enable_mainsail_remotemode, @@ -53,7 +54,6 @@ from utils.sys_utils import ( cmd_sysctl_manage, cmd_sysctl_service, create_python_venv, - get_distro_info, install_python_requirements, parse_packages_from_file, ) @@ -155,44 +155,24 @@ def setup_moonraker_prerequesites() -> None: def install_moonraker_packages() -> None: + Logger.print_status("Parsing Moonraker system dependencies ...") + moonraker_deps = [] - if MOONRAKER_DEPS_JSON_FILE.exists(): - Logger.print_status( - f"Parsing system dependencies from {MOONRAKER_DEPS_JSON_FILE.name} ..." - ) - parsed_sysdeps = parse_sysdeps_file(MOONRAKER_DEPS_JSON_FILE) - distro_name, distro_version = get_distro_info() - - Logger.print_info(f"Distro name: {distro_name}") - Logger.print_info(f"Distro version: {distro_version}") - - for dep in parsed_sysdeps.get(distro_name, []): - pkg = dep[0].strip() - comparator = dep[1].strip() - req_version = dep[2].strip() - - comparisons = { - "": lambda x, y: True, - "<": lambda x, y: x < y, - ">": lambda x, y: x > y, - "<=": lambda x, y: x <= y, - ">=": lambda x, y: x >= y, - "==": lambda x, y: x == y, - "!=": lambda x, y: x != y, - } - - if comparisons[comparator](float(distro_version), float(req_version or 0)): - moonraker_deps.append(pkg) + Logger.print_info( + f"Parsing system dependencies from {MOONRAKER_DEPS_JSON_FILE.name} ...") + parser = SysDepsParser() + sysdeps = load_sysdeps_json(MOONRAKER_DEPS_JSON_FILE) + moonraker_deps.extend(parser.parse_dependencies(sysdeps)) elif MOONRAKER_INSTALL_SCRIPT.exists(): - Logger.print_status( - f"Parsing system dependencies from {MOONRAKER_INSTALL_SCRIPT.name} ..." - ) + Logger.print_warn(f"{MOONRAKER_DEPS_JSON_FILE.name} not found!") + Logger.print_info( + f"Parsing system dependencies from {MOONRAKER_INSTALL_SCRIPT.name} ...") moonraker_deps = parse_packages_from_file(MOONRAKER_INSTALL_SCRIPT) if not moonraker_deps: - raise ValueError("Error reading Moonraker dependencies!") + raise ValueError("Error parsing Moonraker dependencies!") check_install_dependencies({*moonraker_deps}) diff --git a/kiauh/components/moonraker/utils/__init__.py b/kiauh/components/moonraker/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/kiauh/components/moonraker/utils/sysdeps_parser.py b/kiauh/components/moonraker/utils/sysdeps_parser.py new file mode 100644 index 0000000..bed902f --- /dev/null +++ b/kiauh/components/moonraker/utils/sysdeps_parser.py @@ -0,0 +1,167 @@ +# ======================================================================= # +# Copyright (C) 2020 - 2025 Dominik Willner # +# # +# This file is part of KIAUH - Klipper Installation And Update Helper # +# https://github.com/dw-0/kiauh # +# It was modified by Dominik Willner # +# # +# The original file is part of Moonraker: # +# https://github.com/Arksine/moonraker # +# Copyright (C) 2025 Eric Callahan # +# # +# This file may be distributed under the terms of the GNU GPLv3 license # +# ======================================================================= # + +from __future__ import annotations + +import logging +import pathlib +import re +import shlex +from typing import Any, Dict, List, Tuple + + +def _get_distro_info() -> Dict[str, Any]: + release_file = pathlib.Path("/etc/os-release") + release_info: Dict[str, str] = {} + with release_file.open("r") as f: + lexer = shlex.shlex(f, posix=True) + lexer.whitespace_split = True + for item in list(lexer): + if "=" in item: + key, val = item.split("=", maxsplit=1) + release_info[key] = val + return dict( + distro_id=release_info.get("ID", ""), + distro_version=release_info.get("VERSION_ID", ""), + aliases=release_info.get("ID_LIKE", "").split() + ) + +def _convert_version(version: str) -> Tuple[str | int, ...]: + version = version.strip() + ver_match = re.match(r"\d+(\.\d+)*((?:-|\.).+)?", version) + if ver_match is not None: + return tuple([ + int(part) if part.isdigit() else part + for part in re.split(r"\.|-", version) + ]) + return (version,) + +class SysDepsParser: + def __init__(self, distro_info: Dict[str, Any] | None = None) -> None: + if distro_info is None: + distro_info = _get_distro_info() + self.distro_id: str = distro_info.get("distro_id", "") + self.aliases: List[str] = distro_info.get("aliases", []) + self.distro_version: Tuple[int | str, ...] = tuple() + version = distro_info.get("distro_version") + if version: + self.distro_version = _convert_version(version) + + def _parse_spec(self, full_spec: str) -> str | None: + parts = full_spec.split(";", maxsplit=1) + if len(parts) == 1: + return full_spec + pkg_name = parts[0].strip() + expressions = re.split(r"( and | or )", parts[1].strip()) + if not len(expressions) & 1: + # There should always be an odd number of expressions. Each + # expression is separated by an "and" or "or" operator + logging.info( + f"Requirement specifier is missing an expression " + f"between logical operators : {full_spec}" + ) + return None + last_result: bool = True + last_logical_op: str | None = "and" + for idx, exp in enumerate(expressions): + if idx & 1: + if last_logical_op is not None: + logging.info( + "Requirement specifier contains sequential logical " + f"operators: {full_spec}" + ) + return None + logical_op = exp.strip() + if logical_op not in ("and", "or"): + logging.info( + f"Invalid logical operator {logical_op} in requirement " + f"specifier: {full_spec}") + return None + last_logical_op = logical_op + continue + elif last_logical_op is None: + logging.info( + f"Requirement specifier contains two seqential expressions " + f"without a logical operator: {full_spec}") + return None + dep_parts = re.split(r"(==|!=|<=|>=|<|>)", exp.strip()) + req_var = dep_parts[0].strip().lower() + if len(dep_parts) != 3: + logging.info(f"Invalid comparison, must be 3 parts: {full_spec}") + return None + elif req_var == "distro_id": + left_op: str | Tuple[int | str, ...] = self.distro_id + right_op = dep_parts[2].strip().strip("\"'") + elif req_var == "distro_version": + if not self.distro_version: + logging.info( + "Distro Version not detected, cannot satisfy requirement: " + f"{full_spec}" + ) + return None + left_op = self.distro_version + right_op = _convert_version(dep_parts[2].strip().strip("\"'")) + else: + logging.info(f"Invalid requirement specifier: {full_spec}") + return None + operator = dep_parts[1].strip() + try: + compfunc = { + "<": lambda x, y: x < y, + ">": lambda x, y: x > y, + "==": lambda x, y: x == y, + "!=": lambda x, y: x != y, + ">=": lambda x, y: x >= y, + "<=": lambda x, y: x <= y + }.get(operator, lambda x, y: False) + result = compfunc(left_op, right_op) + if last_logical_op == "and": + last_result &= result + else: + last_result |= result + last_logical_op = None + except Exception: + logging.exception(f"Error comparing requirements: {full_spec}") + return None + if last_result: + return pkg_name + return None + + def parse_dependencies(self, sys_deps: Dict[str, List[str]]) -> List[str]: + if not self.distro_id: + logging.info( + "Failed to detect current distro ID, cannot parse dependencies" + ) + return [] + all_ids = [self.distro_id] + self.aliases + for distro_id in all_ids: + if distro_id in sys_deps: + if not sys_deps[distro_id]: + logging.info( + f"Dependency data contains an empty package definition " + f"for linux distro '{distro_id}'" + ) + continue + processed_deps: List[str] = [] + for dep in sys_deps[distro_id]: + parsed_dep = self._parse_spec(dep) + if parsed_dep is not None: + processed_deps.append(parsed_dep) + return processed_deps + else: + logging.info( + f"Dependency data has no package definition for linux " + f"distro '{self.distro_id}'" + ) + return [] diff --git a/kiauh/components/moonraker/moonraker_utils.py b/kiauh/components/moonraker/utils/utils.py similarity index 77% rename from kiauh/components/moonraker/moonraker_utils.py rename to kiauh/components/moonraker/utils/utils.py index f800c8a..7b09763 100644 --- a/kiauh/components/moonraker/moonraker_utils.py +++ b/kiauh/components/moonraker/utils/utils.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # @@ -7,10 +7,9 @@ # This file may be distributed under the terms of the GNU GPLv3 license # # ======================================================================= # import json -import re import shutil from pathlib import Path -from typing import Dict, List, Optional, Tuple +from typing import Dict, List, Optional from components.moonraker import ( MODULE_PATH, @@ -141,33 +140,11 @@ def backup_moonraker_db_dir() -> None: name, source=instance.db_dir, target=MOONRAKER_DB_BACKUP_DIR ) - -# This function is from sync_dependencies.py script from the Moonraker project on GitHub: -# https://github.com/Arksine/moonraker/blob/master/scripts/sync_dependencies.py -# Thanks to Arksine for his work on this project! -def parse_sysdeps_file(sysdeps_file: Path) -> Dict[str, List[Tuple[str, str, str]]]: - """ - Parses the system dependencies file and returns a dictionary with the parsed dependencies. - :param sysdeps_file: The path to the system dependencies file. - :return: A dictionary with the parsed dependencies in the format {distro: [(package, comparator, version)]}. - """ - base_deps: Dict[str, List[str]] = json.loads(sysdeps_file.read_bytes()) - parsed_deps: Dict[str, List[Tuple[str, str, str]]] = {} - - for distro, pkgs in base_deps.items(): - parsed_deps[distro] = [] - for dep in pkgs: - parts = dep.split(";", maxsplit=1) - if len(parts) == 1: - parsed_deps[distro].append((dep.strip(), "", "")) - else: - pkg_name = parts[0].strip() - dep_parts = re.split(r"(==|!=|<=|>=|<|>)", parts[1].strip()) - comp_var = dep_parts[0].strip().lower() - if len(dep_parts) != 3 or comp_var != "distro_version": - continue - operator = dep_parts[1].strip() - req_version = dep_parts[2].strip() - parsed_deps[distro].append((pkg_name, operator, req_version)) - - return parsed_deps +def load_sysdeps_json(file: Path) -> Dict[str, List[str]]: + try: + sysdeps: Dict[str, List[str]] = json.loads(file.read_bytes()) + except json.JSONDecodeError as e: + Logger.print_error(f"Unable to parse {file.name}:\n{e}") + return {} + else: + return sysdeps diff --git a/kiauh/components/webui_client/__init__.py b/kiauh/components/webui_client/__init__.py index 371c365..8bfcd7a 100644 --- a/kiauh/components/webui_client/__init__.py +++ b/kiauh/components/webui_client/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/base_data.py b/kiauh/components/webui_client/base_data.py index e3afa4e..b53edb7 100644 --- a/kiauh/components/webui_client/base_data.py +++ b/kiauh/components/webui_client/base_data.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/client_config/client_config_remove.py b/kiauh/components/webui_client/client_config/client_config_remove.py index f64e022..75a1d8b 100644 --- a/kiauh/components/webui_client/client_config/client_config_remove.py +++ b/kiauh/components/webui_client/client_config/client_config_remove.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/client_config/client_config_setup.py b/kiauh/components/webui_client/client_config/client_config_setup.py index 905ad8e..f1f46cd 100644 --- a/kiauh/components/webui_client/client_config/client_config_setup.py +++ b/kiauh/components/webui_client/client_config/client_config_setup.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/client_dialogs.py b/kiauh/components/webui_client/client_dialogs.py index 0bb889c..a8e9468 100644 --- a/kiauh/components/webui_client/client_dialogs.py +++ b/kiauh/components/webui_client/client_dialogs.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/client_remove.py b/kiauh/components/webui_client/client_remove.py index a017628..471b3a0 100644 --- a/kiauh/components/webui_client/client_remove.py +++ b/kiauh/components/webui_client/client_remove.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/client_setup.py b/kiauh/components/webui_client/client_setup.py index 4a6cb8e..6185241 100644 --- a/kiauh/components/webui_client/client_setup.py +++ b/kiauh/components/webui_client/client_setup.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/client_utils.py b/kiauh/components/webui_client/client_utils.py index 52757d9..d7c3596 100644 --- a/kiauh/components/webui_client/client_utils.py +++ b/kiauh/components/webui_client/client_utils.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/fluidd_data.py b/kiauh/components/webui_client/fluidd_data.py index 79c23b1..8958995 100644 --- a/kiauh/components/webui_client/fluidd_data.py +++ b/kiauh/components/webui_client/fluidd_data.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/mainsail_data.py b/kiauh/components/webui_client/mainsail_data.py index aa2030d..2323746 100644 --- a/kiauh/components/webui_client/mainsail_data.py +++ b/kiauh/components/webui_client/mainsail_data.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/menus/client_install_menu.py b/kiauh/components/webui_client/menus/client_install_menu.py index 951baa8..f9f67af 100644 --- a/kiauh/components/webui_client/menus/client_install_menu.py +++ b/kiauh/components/webui_client/menus/client_install_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/components/webui_client/menus/client_remove_menu.py b/kiauh/components/webui_client/menus/client_remove_menu.py index 2b16aca..57fa0a7 100644 --- a/kiauh/components/webui_client/menus/client_remove_menu.py +++ b/kiauh/components/webui_client/menus/client_remove_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/backup_manager/__init__.py b/kiauh/core/backup_manager/__init__.py index 642c8aa..0e9e8e8 100644 --- a/kiauh/core/backup_manager/__init__.py +++ b/kiauh/core/backup_manager/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/backup_manager/backup_manager.py b/kiauh/core/backup_manager/backup_manager.py index cdec57b..14d6c47 100644 --- a/kiauh/core/backup_manager/backup_manager.py +++ b/kiauh/core/backup_manager/backup_manager.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/constants.py b/kiauh/core/constants.py index 099fe24..f9ccba2 100644 --- a/kiauh/core/constants.py +++ b/kiauh/core/constants.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/decorators.py b/kiauh/core/decorators.py index c34b5e3..46dc2e6 100644 --- a/kiauh/core/decorators.py +++ b/kiauh/core/decorators.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/instance_manager/base_instance.py b/kiauh/core/instance_manager/base_instance.py index 642693c..06f2a27 100644 --- a/kiauh/core/instance_manager/base_instance.py +++ b/kiauh/core/instance_manager/base_instance.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/instance_manager/instance_manager.py b/kiauh/core/instance_manager/instance_manager.py index 1032fc9..d41b66c 100644 --- a/kiauh/core/instance_manager/instance_manager.py +++ b/kiauh/core/instance_manager/instance_manager.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/logger.py b/kiauh/core/logger.py index 4102f2d..023a5f2 100644 --- a/kiauh/core/logger.py +++ b/kiauh/core/logger.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/menus/__init__.py b/kiauh/core/menus/__init__.py index 3fdc671..568fcd3 100644 --- a/kiauh/core/menus/__init__.py +++ b/kiauh/core/menus/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/menus/advanced_menu.py b/kiauh/core/menus/advanced_menu.py index 22cf641..543d7b4 100644 --- a/kiauh/core/menus/advanced_menu.py +++ b/kiauh/core/menus/advanced_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/menus/backup_menu.py b/kiauh/core/menus/backup_menu.py index 556f4ab..a9d7500 100644 --- a/kiauh/core/menus/backup_menu.py +++ b/kiauh/core/menus/backup_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # @@ -13,7 +13,7 @@ from typing import Type from components.klipper.klipper_utils import backup_klipper_dir from components.klipperscreen.klipperscreen import backup_klipperscreen_dir -from components.moonraker.moonraker_utils import ( +from components.moonraker.utils.utils import ( backup_moonraker_db_dir, backup_moonraker_dir, ) diff --git a/kiauh/core/menus/base_menu.py b/kiauh/core/menus/base_menu.py index 47690f7..1e8796c 100644 --- a/kiauh/core/menus/base_menu.py +++ b/kiauh/core/menus/base_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/menus/install_menu.py b/kiauh/core/menus/install_menu.py index 062a8cf..7ae1afe 100644 --- a/kiauh/core/menus/install_menu.py +++ b/kiauh/core/menus/install_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/menus/main_menu.py b/kiauh/core/menus/main_menu.py index 7ab4c8b..7fb55ff 100644 --- a/kiauh/core/menus/main_menu.py +++ b/kiauh/core/menus/main_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # @@ -16,7 +16,7 @@ from components.crowsnest.crowsnest import get_crowsnest_status from components.klipper.klipper_utils import get_klipper_status from components.klipperscreen.klipperscreen import get_klipperscreen_status from components.log_uploads.menus.log_upload_menu import LogUploadMenu -from components.moonraker.moonraker_utils import get_moonraker_status +from components.moonraker.utils.utils import get_moonraker_status from components.webui_client.client_utils import ( get_client_status, get_current_client_config, diff --git a/kiauh/core/menus/remove_menu.py b/kiauh/core/menus/remove_menu.py index e471ba7..710f359 100644 --- a/kiauh/core/menus/remove_menu.py +++ b/kiauh/core/menus/remove_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/menus/settings_menu.py b/kiauh/core/menus/settings_menu.py index b0a9ffa..b836bc6 100644 --- a/kiauh/core/menus/settings_menu.py +++ b/kiauh/core/menus/settings_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # @@ -15,7 +15,7 @@ from typing import Literal, Tuple, Type from components.klipper import KLIPPER_DIR, KLIPPER_REPO_URL from components.klipper.klipper_utils import get_klipper_status from components.moonraker import MOONRAKER_DIR, MOONRAKER_REPO_URL -from components.moonraker.moonraker_utils import get_moonraker_status +from components.moonraker.utils.utils import get_moonraker_status from core.logger import DialogType, Logger from core.menus import Option from core.menus.base_menu import BaseMenu diff --git a/kiauh/core/menus/update_menu.py b/kiauh/core/menus/update_menu.py index c48afe9..f46144a 100644 --- a/kiauh/core/menus/update_menu.py +++ b/kiauh/core/menus/update_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # @@ -21,7 +21,7 @@ from components.klipperscreen.klipperscreen import ( update_klipperscreen, ) from components.moonraker.moonraker_setup import update_moonraker -from components.moonraker.moonraker_utils import get_moonraker_status +from components.moonraker.utils.utils import get_moonraker_status from components.webui_client.client_config.client_config_setup import ( update_client_config, ) diff --git a/kiauh/core/services/message_service.py b/kiauh/core/services/message_service.py index 2022b04..f95c521 100644 --- a/kiauh/core/services/message_service.py +++ b/kiauh/core/services/message_service.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/settings/kiauh_settings.py b/kiauh/core/settings/kiauh_settings.py index 6898e82..d2d9088 100644 --- a/kiauh/core/settings/kiauh_settings.py +++ b/kiauh/core/settings/kiauh_settings.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/types/color.py b/kiauh/core/types/color.py index f20b296..11a317a 100644 --- a/kiauh/core/types/color.py +++ b/kiauh/core/types/color.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/core/types/component_status.py b/kiauh/core/types/component_status.py index 191a8b8..2bca6ec 100644 --- a/kiauh/core/types/component_status.py +++ b/kiauh/core/types/component_status.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/__init__.py b/kiauh/extensions/__init__.py index 7e995bf..b287ee9 100644 --- a/kiauh/extensions/__init__.py +++ b/kiauh/extensions/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/base_extension.py b/kiauh/extensions/base_extension.py index 008c520..b0c34e4 100644 --- a/kiauh/extensions/base_extension.py +++ b/kiauh/extensions/base_extension.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/extensions_menu.py b/kiauh/extensions/extensions_menu.py index 579c6cc..e1c0b8e 100644 --- a/kiauh/extensions/extensions_menu.py +++ b/kiauh/extensions/extensions_menu.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/gcode_shell_cmd/__init__.py b/kiauh/extensions/gcode_shell_cmd/__init__.py index 95336dc..6714ef1 100644 --- a/kiauh/extensions/gcode_shell_cmd/__init__.py +++ b/kiauh/extensions/gcode_shell_cmd/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/gcode_shell_cmd/gcode_shell_cmd_extension.py b/kiauh/extensions/gcode_shell_cmd/gcode_shell_cmd_extension.py index 0113e1c..511aef0 100644 --- a/kiauh/extensions/gcode_shell_cmd/gcode_shell_cmd_extension.py +++ b/kiauh/extensions/gcode_shell_cmd/gcode_shell_cmd_extension.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/mainsail_theme_installer/mainsail_theme_installer_extension.py b/kiauh/extensions/mainsail_theme_installer/mainsail_theme_installer_extension.py index ef76f2d..82c50e0 100644 --- a/kiauh/extensions/mainsail_theme_installer/mainsail_theme_installer_extension.py +++ b/kiauh/extensions/mainsail_theme_installer/mainsail_theme_installer_extension.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/mobileraker/__init__.py b/kiauh/extensions/mobileraker/__init__.py index 3ce4987..8241381 100644 --- a/kiauh/extensions/mobileraker/__init__.py +++ b/kiauh/extensions/mobileraker/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/mobileraker/mobileraker_extension.py b/kiauh/extensions/mobileraker/mobileraker_extension.py index 47aca2c..8095ddc 100644 --- a/kiauh/extensions/mobileraker/mobileraker_extension.py +++ b/kiauh/extensions/mobileraker/mobileraker_extension.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/obico/__init__.py b/kiauh/extensions/obico/__init__.py index a7e8031..6780bb1 100644 --- a/kiauh/extensions/obico/__init__.py +++ b/kiauh/extensions/obico/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/obico/moonraker_obico.py b/kiauh/extensions/obico/moonraker_obico.py index 1bf5c8f..ddf442c 100644 --- a/kiauh/extensions/obico/moonraker_obico.py +++ b/kiauh/extensions/obico/moonraker_obico.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/obico/moonraker_obico_extension.py b/kiauh/extensions/obico/moonraker_obico_extension.py index 4d5a019..c7fd130 100644 --- a/kiauh/extensions/obico/moonraker_obico_extension.py +++ b/kiauh/extensions/obico/moonraker_obico_extension.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/octoapp/__init__.py b/kiauh/extensions/octoapp/__init__.py index d7ea5d4..9ce8939 100644 --- a/kiauh/extensions/octoapp/__init__.py +++ b/kiauh/extensions/octoapp/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/octoapp/octoapp.py b/kiauh/extensions/octoapp/octoapp.py index d5c663d..b7a1da0 100644 --- a/kiauh/extensions/octoapp/octoapp.py +++ b/kiauh/extensions/octoapp/octoapp.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/octoapp/octoapp_extension.py b/kiauh/extensions/octoapp/octoapp_extension.py index 3789145..26bb748 100644 --- a/kiauh/extensions/octoapp/octoapp_extension.py +++ b/kiauh/extensions/octoapp/octoapp_extension.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # @@ -188,7 +188,7 @@ class OctoappExtension(BaseExtension): Logger.print_status("Removing OctoApp for Klipper store directory ...") klipper_instances: List[Moonraker] = get_instances(Klipper) - + for instance in klipper_instances: store_dir = instance.data_dir.joinpath("octoapp-store") if not store_dir.exists(): diff --git a/kiauh/extensions/octoeverywhere/__init__.py b/kiauh/extensions/octoeverywhere/__init__.py index 84c0e63..e05c859 100644 --- a/kiauh/extensions/octoeverywhere/__init__.py +++ b/kiauh/extensions/octoeverywhere/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/octoeverywhere/octoeverywhere.py b/kiauh/extensions/octoeverywhere/octoeverywhere.py index d3cdfd0..7de2122 100644 --- a/kiauh/extensions/octoeverywhere/octoeverywhere.py +++ b/kiauh/extensions/octoeverywhere/octoeverywhere.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/octoeverywhere/octoeverywhere_extension.py b/kiauh/extensions/octoeverywhere/octoeverywhere_extension.py index 72e4912..2907923 100644 --- a/kiauh/extensions/octoeverywhere/octoeverywhere_extension.py +++ b/kiauh/extensions/octoeverywhere/octoeverywhere_extension.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/pretty_gcode/pretty_gcode_extension.py b/kiauh/extensions/pretty_gcode/pretty_gcode_extension.py index 06a0804..45ab1af 100644 --- a/kiauh/extensions/pretty_gcode/pretty_gcode_extension.py +++ b/kiauh/extensions/pretty_gcode/pretty_gcode_extension.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/simply_print/simply_print_extension.py b/kiauh/extensions/simply_print/simply_print_extension.py index e62c0d3..495e098 100644 --- a/kiauh/extensions/simply_print/simply_print_extension.py +++ b/kiauh/extensions/simply_print/simply_print_extension.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/telegram_bot/__init__.py b/kiauh/extensions/telegram_bot/__init__.py index 2b43fc6..c37a838 100644 --- a/kiauh/extensions/telegram_bot/__init__.py +++ b/kiauh/extensions/telegram_bot/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/telegram_bot/moonraker_telegram_bot.py b/kiauh/extensions/telegram_bot/moonraker_telegram_bot.py index 70dac38..a59ec61 100644 --- a/kiauh/extensions/telegram_bot/moonraker_telegram_bot.py +++ b/kiauh/extensions/telegram_bot/moonraker_telegram_bot.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/extensions/telegram_bot/moonraker_telegram_bot_extension.py b/kiauh/extensions/telegram_bot/moonraker_telegram_bot_extension.py index e6b6f13..7793325 100644 --- a/kiauh/extensions/telegram_bot/moonraker_telegram_bot_extension.py +++ b/kiauh/extensions/telegram_bot/moonraker_telegram_bot_extension.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/main.py b/kiauh/main.py index e3e635c..06512ea 100644 --- a/kiauh/main.py +++ b/kiauh/main.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/procedures/switch_repo.py b/kiauh/procedures/switch_repo.py index 7bc4ba2..d6a8240 100644 --- a/kiauh/procedures/switch_repo.py +++ b/kiauh/procedures/switch_repo.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/procedures/system.py b/kiauh/procedures/system.py index 187c270..dc937c2 100644 --- a/kiauh/procedures/system.py +++ b/kiauh/procedures/system.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/utils/__init__.py b/kiauh/utils/__init__.py index 371c365..8bfcd7a 100644 --- a/kiauh/utils/__init__.py +++ b/kiauh/utils/__init__.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/utils/common.py b/kiauh/utils/common.py index 2880e6d..2ace9fd 100644 --- a/kiauh/utils/common.py +++ b/kiauh/utils/common.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/utils/config_utils.py b/kiauh/utils/config_utils.py index 18ca608..59cfa96 100644 --- a/kiauh/utils/config_utils.py +++ b/kiauh/utils/config_utils.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/utils/fs_utils.py b/kiauh/utils/fs_utils.py index 91f315b..049afd6 100644 --- a/kiauh/utils/fs_utils.py +++ b/kiauh/utils/fs_utils.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/utils/input_utils.py b/kiauh/utils/input_utils.py index fecb616..cf2a348 100644 --- a/kiauh/utils/input_utils.py +++ b/kiauh/utils/input_utils.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/utils/instance_type.py b/kiauh/utils/instance_type.py index 47b3baf..99f963c 100644 --- a/kiauh/utils/instance_type.py +++ b/kiauh/utils/instance_type.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/utils/instance_utils.py b/kiauh/utils/instance_utils.py index 04f96b6..92fd3a8 100644 --- a/kiauh/utils/instance_utils.py +++ b/kiauh/utils/instance_utils.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh # diff --git a/kiauh/utils/sys_utils.py b/kiauh/utils/sys_utils.py index 94234b2..5a83933 100644 --- a/kiauh/utils/sys_utils.py +++ b/kiauh/utils/sys_utils.py @@ -1,5 +1,5 @@ # ======================================================================= # -# Copyright (C) 2020 - 2024 Dominik Willner # +# Copyright (C) 2020 - 2025 Dominik Willner # # # # This file is part of KIAUH - Klipper Installation And Update Helper # # https://github.com/dw-0/kiauh #