From 8902d2e310c23193e75e0c2d3a6847a530e0a213 Mon Sep 17 00:00:00 2001 From: correctmost <134317971+correctmost@users.noreply.github.com> Date: Sun, 12 Jul 2026 07:20:44 -0400 Subject: [PATCH] Use a match statement for PasswordStrength enum values (#4619) This unblocks the upgrade to mypy 2.2.0, which now flags the unreachable "return None" statement. --- archinstall/lib/menu/util.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/archinstall/lib/menu/util.py b/archinstall/lib/menu/util.py index 5efef09d..6e227a7f 100644 --- a/archinstall/lib/menu/util.py +++ b/archinstall/lib/menu/util.py @@ -19,14 +19,15 @@ async def get_password( def password_hint(value: str) -> InputInfo | None: if not value: return None + strength = PasswordStrength.strength(value) - if strength in (PasswordStrength.VERY_WEAK, PasswordStrength.WEAK): - return InputInfo(message=tr('Password strength: Weak'), msg_level=MsgLevelType.MsgError) - elif strength == PasswordStrength.MODERATE: - return InputInfo(message=tr('Password strength: Moderate'), msg_level=MsgLevelType.MsgWarning) - elif strength == PasswordStrength.STRONG: - return InputInfo(message=tr('Password strength: Strong'), msg_level=MsgLevelType.MsgInfo) - return None + match strength: + case PasswordStrength.VERY_WEAK | PasswordStrength.WEAK: + return InputInfo(message=tr('Password strength: Weak'), msg_level=MsgLevelType.MsgError) + case PasswordStrength.MODERATE: + return InputInfo(message=tr('Password strength: Moderate'), msg_level=MsgLevelType.MsgWarning) + case PasswordStrength.STRONG: + return InputInfo(message=tr('Password strength: Strong'), msg_level=MsgLevelType.MsgInfo) while True: result = await Input(