From e6b0ebb5f31dd4cf4361df03e401181cbdb9f452 Mon Sep 17 00:00:00 2001 From: mintsuki <36459316+mintsuki@users.noreply.github.com> Date: Fri, 4 Apr 2025 00:46:55 +0200 Subject: [PATCH] Actually prevent installing if the config is invalid (#3335) This also makes use of the previously unused _is_config_valid() method. --- archinstall/lib/global_menu.py | 3 ++- archinstall/lib/menu/abstract_menu.py | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/archinstall/lib/global_menu.py b/archinstall/lib/global_menu.py index 7265f52a..c3c45ecd 100644 --- a/archinstall/lib/global_menu.py +++ b/archinstall/lib/global_menu.py @@ -1,6 +1,6 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, override from archinstall.lib.disk.disk_menu import DiskLayoutConfigurationMenu from archinstall.lib.disk.encryption_menu import DiskEncryptionMenu @@ -245,6 +245,7 @@ class GlobalMenu(AbstractMenu): return list(missing) + @override def _is_config_valid(self) -> bool: """ Checks the validity of the current configuration. diff --git a/archinstall/lib/menu/abstract_menu.py b/archinstall/lib/menu/abstract_menu.py index 2d3982b5..a63eb691 100644 --- a/archinstall/lib/menu/abstract_menu.py +++ b/archinstall/lib/menu/abstract_menu.py @@ -89,6 +89,9 @@ class AbstractMenu: for item in self._menu_item_group.items: item.enabled = False + def _is_config_valid(self) -> bool: + return True + def run(self) -> Any | None: self._sync_from_config() @@ -108,6 +111,8 @@ class AbstractMenu: item: MenuItem = result.item() if item.action is None: + if not self._is_config_valid(): + continue break case ResultType.Reset: return None